From a8f228d5a18d20ad2dbded57e54ece6a864e3f5b Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 10 Oct 2025 20:17:54 -0400 Subject: [PATCH 001/181] First commit of the "Get'EM Back" project! The code has the main infrastructures to include Aparallel effects by solving apardot and stepping Aparallel accordingly. Of course many bugs must reside and for now the EM effects are not included in the GK rhs. I checked that the 2x2v D3D regression test is behaving exactly the same if we activate EM or not. I want to see next if we get meaningful Apar and Apardot values as the diagnostics are included. --- core/zero/gkyl_eqn_type.h | 1 + gyrokinetic/apps/gk_field.c | 193 +++++++++++++++++- gyrokinetic/apps/gk_species.c | 84 +++++++- gyrokinetic/apps/gk_species_projection.c | 2 +- gyrokinetic/apps/gkyl_gyrokinetic.h | 8 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 91 ++++++++- gyrokinetic/apps/gyrokinetic.c | 48 ++++- gyrokinetic/apps/gyrokinetic_lw.c | 1 + gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 4 +- gyrokinetic/zero/fem_poisson_perp.c | 80 ++++++-- gyrokinetic/zero/gkyl_fem_poisson_perp.h | 22 ++ gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h | 5 + 12 files changed, 490 insertions(+), 49 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 194cd5f906..4df59b2be7 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -42,6 +42,7 @@ enum gkyl_gkfield_id { GKYL_GK_FIELD_ADIABATIC = 2, // GK field with an adiabatic species. GKYL_GK_FIELD_ES_IWL = 3, // Inner-wall limited ES. GKYL_GK_FIELD_EM = 4, // Electromagnetic GK + GKYL_GK_FIELD_EM_IWL = 5, // Inner-wall limited EM }; // Identifiers for specific field object types diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 4ab9a42651..aba66e062b 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -115,6 +115,91 @@ gk_field_enforce_zbc_none(const gkyl_gyrokinetic_app *app, const struct gk_field { } +static void +gk_field_accumulate_current_dens_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_clear(field->currentDens, 0.0); + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + + gk_species_moment_calc(&s->m1, s->local, app->local, fin[i]); + + gkyl_array_accumulate_range(field->currentDens, s->info.charge, s->m1.marr, &app->local); + } + app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_accumulate_current_dens_dot_none(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ +} + +static void +gk_field_accumulate_current_dens_dot_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_clear(field->currentDensdot, 0.0); + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + + gk_species_moment_calc(&s->m1, s->local, app->local, fin[i]); + + gkyl_array_accumulate_range(field->currentDensdot, s->info.charge, s->m1.marr, &app->local); + } + app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_accumulate_current_dens_none(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ +} + +static void +gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + gkyl_fem_poisson_perp_set_rhs(field->fem_apardot, field->currentDensdot); + gkyl_fem_poisson_perp_update_kSq(field->fem_apardot, field->dApartdtSlvr_kSq); + gkyl_fem_poisson_perp_solve(field->fem_apardot,field->apardot); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_ohm_solve_none(struct gkyl_gyrokinetic_app *app, struct gk_field *field) +{ +} + +static void +gk_field_ampere_solve(gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + gkyl_fem_poisson_perp_set_rhs(field->fem_apar_solver, field->currentDens); + gkyl_fem_poisson_perp_solve(field->fem_apar_solver, field->apar); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_ampere_solve_none(gkyl_gyrokinetic_app *app, struct gk_field *field) +{ +} + +static void +gk_field_step_apar_dyn(struct gk_field *field, struct gkyl_array* out, double dt, + const struct gkyl_array* inp) +{ + gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); +} + +static void +gk_field_step_apar_none(struct gk_field *field, struct gkyl_array* out, double dt, + const struct gkyl_array* inp) +{ + // do nothing +} + // initialize field object struct gk_field* gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) @@ -125,6 +210,10 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD_ES; + f->is_clopen = f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL; + + f->is_em = f->gkfield_id == GKYL_GK_FIELD_EM || f->gkfield_id == GKYL_GK_FIELD_EM_IWL; + f->calc_init_field = !f->info.zero_init_field; f->update_field = !f->info.is_static; // The combination update_field=true, calc_init_field=false is not allowed. @@ -141,11 +230,6 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // local phi (assuming domain decomposition is *only* in z right now) f->phi_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - if (f->gkfield_id == GKYL_GK_FIELD_EM) { - f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apardot_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - } - f->init_phi_pol = false; if (f->info.polarization_potential) { // Project the initial potential onto a p+1 tensor basis and compute the polarization @@ -271,7 +355,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } // Potential smoothing (in z) updater - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (f->is_clopen) { enum gkyl_fem_parproj_bc_type fem_parproj_bc_core, fem_parproj_bc_sol; if (app->cdim == 2) { fem_parproj_bc_core = GKYL_FEM_PARPROJ_PERIODIC; @@ -393,6 +477,51 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) gkyl_array_copy(f->phi_wall_up, f->phi_wall_up_host); } + // Electromagnetic GK structures to evolve Aparallel + f->ohm_solve = gk_field_ohm_solve_none; + f->ampere_solve = gk_field_ampere_solve_none; + f->accumulate_current = gk_field_accumulate_current_dens_none; + f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_none; + f->step_apar = gk_field_step_apar_none; + if (f->is_em) { + f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_old = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + + f->apar_host = f->apar; + f->apardot_host = f->apardot; + if (app->use_gpu) { + f->apar_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + f->apardot_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + } + + f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apardot_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->currentDens = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->currentDensdot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->lapWeightAmpere = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->dApartdtSlvr_kSq = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + + // Compute the weights in front of the laplacian operator (metric x 1/mu0) + struct gkyl_array *Jgij[3] = {app->gk_geom->gxxj, app->gk_geom->gxyj, app->gk_geom->gyyj}; + for (int i=0; icdim-2/app->cdim; i++) { + gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); + } + // FEM solver for Ampere equation (solved at IC only). + f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &f->info.ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); + // FEM solver for Ohm's law (evolves d(Apart)/dt). + f->fem_apardot = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &f->info.ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + + // Pointer to function that solves Ohm's law and Amperes equation. + f->ohm_solve = gk_field_ohm_solve; + f->ampere_solve = gk_field_ampere_solve; + f->accumulate_current = gk_field_accumulate_current_dens_dyn; + f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_dyn; + f->step_apar = gk_field_step_apar_dyn; + } + // Create operator needed for FLR effects. f->use_flr = false; f->invert_flr = gk_field_invert_flr_none; @@ -441,7 +570,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } // twist-and-shift boundary condition for phi and skin surface from ghost to impose phi periodicity at z=-pi - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL){ + if (f->is_clopen){ gk_field_add_TSBC_and_SSFG_updaters(app,f); f->enforce_zbc = gk_field_enforce_zbc; } else { @@ -471,6 +600,8 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]) { struct timespec wst = gkyl_wall_clock(); + if (field->is_em) + gkyl_array_clear(field->dApartdtSlvr_kSq, 0.0); gkyl_array_clear(field->rho_c, 0.0); for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; @@ -501,11 +632,23 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, double q_s = field->info.electron_charge; gkyl_array_shiftc_range(field->rho_c, q_s*n_s0*sqrt(2.0), 0, &app->local); } + if (field->is_em) { + // Use m0 to update also the kSq matrix of the Ohm's law solver. + double fac = s->info.charge*s->info.charge/s->info.mass; + gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0.marr, &app->local); + } } } app->stat.field_phi_rhs_tm += gkyl_time_diff_now_sec(wst); } +void +gk_field_accumulate_current_dens(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ + field->accumulate_current(app, field, fin); +} + static void gk_field_calc_ambi_pot_sheath_vals(gkyl_gyrokinetic_app *app, struct gk_field *field) { @@ -584,7 +727,7 @@ gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field) // Gather charge density into global array. // Smooth the charge density. Input is rho_c_global_dg, globally smoothed in z, // and then output should be in *local* phi_smooth. - if (field->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (field->is_clopen) { gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->rho_c, field->rho_c_global_dg); gkyl_fem_parproj_set_rhs(field->fem_parproj_core, field->rho_c_global_dg, field->rho_c_global_dg); gkyl_fem_parproj_solve(field->fem_parproj_core, field->rho_c_global_smooth); @@ -623,6 +766,23 @@ gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field) app->stat.field_phi_solve_tm += gkyl_time_diff_now_sec(wst); } +void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field) +{ + field->ampere_solve(app, field); +} + +void gk_field_step_apar (struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp) +{ + field->step_apar(field, out, a, inp); +} + +void +gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]){ + struct timespec wst = gkyl_wall_clock(); + field->accumulate_current_dot(app, field, fin); + field->ohm_solve(app, field); +} + static struct gkyl_app_restart_status header_from_file(gkyl_gyrokinetic_app *app, const char *fname) { @@ -738,9 +898,20 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->phi_fem); gkyl_array_release(f->phi_smooth); - if (f->gkfield_id == GKYL_GK_FIELD_EM) { + if (f->is_em) { + gkyl_array_release(f->apar); + gkyl_array_release(f->apar_old); + gkyl_array_release(f->apar_host); + gkyl_array_release(f->apardot); + gkyl_array_release(f->apardot_host); gkyl_array_release(f->apar_fem); gkyl_array_release(f->apardot_fem); + gkyl_array_release(f->currentDens); + gkyl_array_release(f->currentDensdot); + gkyl_array_release(f->lapWeightAmpere); + gkyl_array_release(f->dApartdtSlvr_kSq); + gkyl_fem_poisson_perp_release(f->fem_apar_solver); + gkyl_fem_poisson_perp_release(f->fem_apardot); } if (f->init_phi_pol) { @@ -764,7 +935,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } } - if (app->cdim > 1 && f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (app->cdim > 1 && f->is_clopen) { gkyl_fem_parproj_release(f->fem_parproj_core); gkyl_fem_parproj_release(f->fem_parproj_sol); } else { @@ -772,7 +943,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } // Release TS BS and SSFG updater - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (f->is_clopen) { if(app->cdim == 3) { gkyl_bc_twistshift_release(f->bc_T_LU_lo); } diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 875ecb07c1..3b52779611 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -75,6 +75,38 @@ gk_species_omegaH_dt(gkyl_gyrokinetic_app *app, struct gk_species *gks, const st } } +static double +gk_species_update_bflux_and_cfl(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + // Compute and store (in the ghost cell of rhs) the boundary fluxes. + gk_species_bflux_rhs(app, &species->bflux, fin, rhs); + + // Compute diagnostic moments of the boundary fluxes. + gk_species_bflux_calc_moms(app, &species->bflux, rhs, bflux_moms); + + // Reduce the CFL frequency anc compute stable dt needed by this species. + app->stat.n_species_omega_cfl +=1; + struct timespec tm = gkyl_wall_clock(); + gkyl_array_reduce_range(species->omega_cfl, species->cflrate, GKYL_MAX, &species->local); + + double omega_cfl_ho[1]; + if (app->use_gpu) { + gkyl_cu_memcpy(omega_cfl_ho, species->omega_cfl, sizeof(double), GKYL_CU_MEMCPY_D2H); + } + else { + omega_cfl_ho[0] = species->omega_cfl[0]; + } + double dt_out = app->cfl/omega_cfl_ho[0]; + + // Enforce the omega_H constraint on dt. + double dt_omegaH = gk_species_omegaH_dt(app, species, fin); + dt_out = fmin(dt_out, dt_omegaH); + + app->stat.species_omega_cfl_tm += gkyl_time_diff_now_sec(tm); + return dt_out; +} + static void gk_species_collisionless_rhs_included(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs) @@ -175,6 +207,35 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, return dt_out; } +static double +gk_species_em_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + struct timespec wst = gkyl_wall_clock(); + + // We want here to just add the EM contribution to the collisionless update. + // We do not clear the cflrate or rhs. + // 1. compute the gk vars from EM fields + // something like: + // gkyl_dg_calc_gyrokinetic_vars_alpha_surf_em(species->calc_gk_vars, + // &app->local, &species->local, &species->local_ext, + // app->field->apardot, species->alpha_surf, species->sgn_alpha_surf, species->const_sgn_alpha); + + // 2. add this contribution to the rhs + // If I understood correctly, the step 1. will set the variables required in step 2. so I can just + // call the same updater as in the collisionless electrostatic case. + // I think I can assume that this will add to rhs and cflrate and not overwrite them. + // gkyl_dg_updater_gyrokinetic_advance(species->slvr, &species->local, + // fin, species->cflrate, rhs); + + app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); + + // 3. Update the bflux and its moments and compute cflrate as usual + // (this is the same as in the electrostatic case) + double dt_out = gk_species_update_bflux_and_cfl(app, species, fin, rhs, bflux_moms); + return dt_out; +} + static double gk_species_rhs_implicit_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, double dt) @@ -519,7 +580,7 @@ static void gk_species_calc_int_mom_dt_active(gkyl_gyrokinetic_app* app, struct gk_species *gks, double dt, struct gkyl_array *fdot_int_mom) { struct timespec wst = gkyl_wall_clock(); - // Compute moment of f_new to compute moment of df/dt. + // Compute integrated moment of f_new to compute moment of df/dt. // Need to do it after the fields are updated. gk_species_moment_calc(&gks->integ_moms, gks->local, app->local, gks->f); gkyl_array_set(fdot_int_mom, 1.0/dt, gks->integ_moms.marr); @@ -1166,6 +1227,7 @@ gk_species_new_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app * // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; + gks->em_rhs_func = gk_species_em_rhs_dynamic; gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; gks->bc_func = gk_species_apply_bc_dynamic; gks->release_func = gk_species_release_dynamic; @@ -1204,6 +1266,7 @@ gk_species_new_static(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *a // Set function pointers. gks->rhs_func = gk_species_rhs_static; + gks->em_rhs_func = gk_species_rhs_static; gks->rhs_implicit_func = gk_species_rhs_implicit_static; gks->bc_func = gk_species_apply_bc_static; gks->release_func = gk_species_release_static; @@ -1682,6 +1745,13 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st // Allocate data for density (for charge density or upar calculation). gk_species_moment_init(app, gks, &gks->m0, GKYL_F_MOMENT_M0, false); + if (app->field->is_em) { + // To compute current density for Ampere's law and current dot for Ohm's law. + gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); + gks->apar = gkyl_array_acquire(app->field->apar); + gks->apardot = gkyl_array_acquire(app->field->apardot); + } + // Allocate data for diagnostic moments. int ndm = gks->info.num_diag_moments; gks->moms = gkyl_malloc(sizeof(struct gk_species_moment[ndm])); @@ -1918,8 +1988,6 @@ gk_species_apply_ic_cross(gkyl_gyrokinetic_app *app, struct gk_species *gks_self } } -// Compute the RHS for species update, returning maximum stable -// time-step. double gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) @@ -1927,6 +1995,13 @@ gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, return species->rhs_func(app, species, fin, rhs, bflux_moms); } +double +gk_species_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + return species->em_rhs_func(app, species, fin, rhs, bflux_moms); +} + // Compute the implicit RHS for species update, returning maximum stable // time-step. double @@ -2057,6 +2132,9 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) // Release moment data. gk_species_moment_release(app, &s->m0); + if (app->field->gkfield_id == GKYL_GK_FIELD_EM || app->field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + gk_species_moment_release(app, &s->m1); + } for (int i=0; iinfo.num_diag_moments; ++i) { gk_species_moment_release(app, &s->moms[i]); } diff --git a/gyrokinetic/apps/gk_species_projection.c b/gyrokinetic/apps/gk_species_projection.c index 8501732a86..e8baa2b57b 100644 --- a/gyrokinetic/apps/gk_species_projection.c +++ b/gyrokinetic/apps/gk_species_projection.c @@ -280,7 +280,7 @@ init_maxwellian_gaussian(struct gkyl_gyrokinetic_app *app, struct gk_species *s, // Set periodicity for last dim if we are in IWL, and all other directions defined by the user. for (int dir = 0; dir < GKYL_MAX_CDIM; ++dir) fg_ctx.is_dir_periodic[dir] = false; - fg_ctx.is_dir_periodic[app->cdim-1] = app->field->info.gkfield_id == GKYL_GK_FIELD_ES_IWL; + fg_ctx.is_dir_periodic[app->cdim-1] = app->field->info.gkfield_id == GKYL_GK_FIELD_ES_IWL || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; for (int i=0; i < app->num_periodic_dir; ++i) fg_ctx.is_dir_periodic[app->periodic_dirs[i]] = true; diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index 618c05442f..ab727f65ff 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -371,6 +371,10 @@ struct gkyl_gyrokinetic_field { struct gkyl_poisson_bc poisson_bcs; + // parameters for EMGK + struct gkyl_poisson_bc ampere_bcs; + double mu0; + bool time_rate_diagnostics; // Writes the time rate of change of field energy. // Initial potential used to compute the total polarization density. @@ -482,7 +486,9 @@ struct gkyl_gyrokinetic_stat { double field_tm; // Time to compute fields. double field_phi_rhs_tm; // Time spent on poisson eqn RHS. - double field_phi_solve_tm; // Time spent to solve poisson eqn. + double field_phi_solve_tm; // Time spent to solve poisson eqn. + double field_apar_rhs_tm; // Time spent on parallel Ampere eqn RHS. + double field_apar_solve_tm; // Time spent to solve parallel Ampere eqn. double bc_tm; // Time to compute BCs. double species_bc_tm; // Time to compute species BCs. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 4ad1f42bdd..c2110cfa56 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -660,6 +660,7 @@ struct gk_species { struct gkyl_dg_calc_gyrokinetic_vars *calc_gk_vars; struct gk_species_moment m0; // for computing charge density + struct gk_species_moment m1; // for computing current density struct gk_species_moment integ_moms; // integrated moments struct gk_species_moment *moms; // diagnostic moments double *red_integ_diag, *red_integ_diag_global; // for reduction of integrated moments @@ -755,7 +756,9 @@ struct gk_species { const struct gkyl_array *fin, struct gkyl_array *rhs); double (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); - double (*rhs_implicit_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + double (*em_rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); + double (*rhs_implicit_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, double dt); void (*bc_func)(gkyl_gyrokinetic_app *app, const struct gk_species *species, struct gkyl_array *f); @@ -928,6 +931,8 @@ struct gk_field { bool update_field; // Are we updating the field?. bool calc_init_field; // Whether to compute the t=0 field. + bool is_em; // Whether EM model. + bool is_clopen; // Whether we are in a closed + open field line geometry. struct gkyl_job_pool *job_pool; // Job pool // arrays for local charge density, global charge density, and global smoothed (in z) charge density @@ -952,8 +957,20 @@ struct gk_field { }; // EM GK model struct { - struct gkyl_array *apar_fem; // array for A_parallel - struct gkyl_array *apardot_fem; // array for d/dt A_parallel + struct gkyl_array *apar; // array for A_parallel (solved only in ic) + struct gkyl_array *apar_old; // previous state of A_parallel (for update with apardot) + struct gkyl_array *apar_host; // host copy for use IO + struct gkyl_array *apardot; // array for d(A_parallel)/dt (solved through Ohm's law) + struct gkyl_array *apardot_host; // host copy for use IO + struct gkyl_array *currentDens; // current density + struct gkyl_array *currentDensdot; // time derivative of current density + struct gkyl_array *apar_fem; // auxiliary array for A_parallel + struct gkyl_array *apardot_fem; // auxiliary array for d/dt A_parallel + struct gkyl_array *dApartdtSlvr_kSq; // contains sum_s q_s^2/m_s n_s + struct gkyl_array *dApartdtSlvr_rhs; // contains sum_s q_s int dv vpar d/dt(F_s)* + struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0) + struct gkyl_fem_poisson_perp *fem_apar_solver; // Solver for IC Apar + struct gkyl_fem_poisson_perp *fem_apardot; // Solver for d(Apar)/dt }; }; @@ -1011,6 +1028,17 @@ struct gk_field { // Pointer to function for the twist-and-shift BCs. void (*enforce_zbc) (const gkyl_gyrokinetic_app *app, const struct gk_field *field, struct gkyl_array *finout); + + // Pointer to function to accumulate charge and current density. + void (*accumulate_current) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]); + void (*accumulate_current_dot) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]); + + // Pointer to function to solve the Ohm's law and Ampere equation. + void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); + void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); + void (*step_apar) (struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); }; // Gyrokinetic object: used as opaque pointer in user code. @@ -2211,6 +2239,20 @@ void gk_species_apply_ic_cross(gkyl_gyrokinetic_app *app, struct gk_species *spe double gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); +/** + * Add the electromagnetic part of the RHS from species distribution function + * + * @param app gyrokinetic app object. + * @param species Pointer to species. + * @param fin Input distribution function. + * @param rhs On output, the RHS from the species object. + * @param bflux_moms Output boundary flux moments (for diagnostics, stepped in time). + * @return Maximum stable time-step. + */ +double gk_species_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); + + /** * Compute the *implicit* RHS from species distribution function * @@ -2934,14 +2976,55 @@ void gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field const struct gkyl_array *fin[]); /** - * Compute EM field. + * Accumulate current density for Ampere solve. * * @param app gyrokinetic app object. * @param field Pointer to field. + * @param fin[] Input distribution function (num_species size). + */ +void gk_field_accumulate_current_dens(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]); + +/** + * Compute initial magnetic vector parallel component + * + * @param app gyrokinetic app object. + * @param field Pointer to field. * @param em Output field. */ +void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field); + +/** + * Step the parallel component of the magnetic vector potential, apar, forward in time. + * + * @param field Pointer to field. + * @param out Output array. (apar) + * @param dt Timestep. + * @param inp Input array. (apardot from Ohm's law) + */ +void gk_field_step_apar(struct gk_field *field, struct gkyl_array* out, double dt, + const struct gkyl_array* inp); + +/** + * Compute electrostatic potential, phi, from charge density and + * time derivative of the parallel component of the vector potential, apardot, + * from the m1 moment of the GK rhs computed in the last gyrokinetic_rhs call, + * and from the kSq term computed in the last gk_field_accumulate_rho_c call. + * + * @param app gyrokinetic app object. + * @param field Pointer to field. + */ void gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field); +/** + * Compute Apardot from fin m1 moment using the Ohm's law. + * + * @param app gyrokinetic app object. + * @param field Pointer to field. + * @param fin[] Input distribution function (num_species size). + */ +void gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]); + /** * Read the field from a file. * diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index be66a17b1d..9c5d291928 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -461,6 +461,7 @@ gyrokinetic_calc_field_update(gkyl_gyrokinetic_app* app, double tcurr, const str { struct timespec wtm = gkyl_wall_clock(); // Compute electrostatic potential from gyrokinetic Poisson's equation. + // This calls also compute kSq = \sum_s q^2/m n for Ohm's law. gk_field_accumulate_rho_c(app, app->field, fin); // Compute biased wall potential if present and time-dependent. @@ -822,12 +823,16 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) } } - if (app->field->info.init_from_file.type == 0 && app->field->info.init_field_profile == 0) + if (app->field->info.init_from_file.type == 0 && app->field->info.init_field_profile == 0) { // Compute the field. + // for EM, compute the initial ampere field using the fem helmholtz solver. + gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); + gk_field_calc_apar_ic(app, app->field); + // MF 2024/09/27/: Need the cast here for consistency. Fixing // this may require removing 'const' from a lot of places. gyrokinetic_calc_field_update(app, t0, (const struct gkyl_array **) distf); - else { + } else { if (app->field->info.init_field_profile == 0) // Read the field. gk_field_file_import_init(app, app->field->info.init_from_file); @@ -1031,10 +1036,6 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame { if (app->field->update_field || frame == 0) { struct timespec wtm = gkyl_wall_clock(); - // Copy data from device to host before writing it out. - if (app->use_gpu) { - gkyl_array_copy(app->field->phi_host, app->field->phi_smooth); - } struct gkyl_msgpack_data *mt = gk_array_meta_new( (struct gyrokinetic_output_meta) { .frame = frame, @@ -1049,8 +1050,33 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame char fileNm[sz+1]; // ensures no buffer overflow snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); + // Copy data from device to host before writing it out. + if (app->use_gpu) { + gkyl_array_copy(app->field->phi_host, app->field->phi_smooth); + } gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); + if (app->field->gkfield_id == GKYL_GK_FIELD_EM || app->field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + const char *fmt = "%s-apar_%d.gkyl"; + int sz = gkyl_calc_strlen(fmt, app->name, frame); + char fileNm[sz+1]; // ensures no buffer overflow + snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); + if (app->use_gpu) { + gkyl_array_copy(app->field->apar_host, app->field->apar); + } + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm); + } + if (app->field->gkfield_id == GKYL_GK_FIELD_EM || app->field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + const char *fmt = "%s-dapardt_%d.gkyl"; + int sz = gkyl_calc_strlen(fmt, app->name, frame); + char fileNm[sz+1]; // ensures no buffer overflow + snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); + if (app->use_gpu) { + gkyl_array_copy(app->field->apardot_host, app->field->apardot); + } + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm); + } + gk_array_meta_release(mt); app->stat.field_io_tm += gkyl_time_diff_now_sec(wtm); @@ -1665,6 +1691,16 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, &app->neut_species[i].src, fin_neut[i], fout_neut[i]); } + gk_field_em_rhs(app, app->field, fin); + + // Add electromagnetic contributions to the collisionless update of charged species. + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + double dt1 = gk_species_em_rhs(app, s, fin[i], fout[i], bflux_out[i]); + dtmin = fmin(dtmin, dt1); + } + + struct timespec wtm = gkyl_wall_clock(); double dt_max_rel_diff = 0.01; // Check if dtmin is slightly smaller than dt. Use dt if it is diff --git a/gyrokinetic/apps/gyrokinetic_lw.c b/gyrokinetic/apps/gyrokinetic_lw.c index 152f77deab..1222bb4bcc 100644 --- a/gyrokinetic/apps/gyrokinetic_lw.c +++ b/gyrokinetic/apps/gyrokinetic_lw.c @@ -61,6 +61,7 @@ static const struct gkyl_str_int_pair gk_field_type[] = { { "Adiabatic", GKYL_GK_FIELD_ADIABATIC }, { "ElectrostaticIWL", GKYL_GK_FIELD_ES_IWL }, { "Electromagnetic", GKYL_GK_FIELD_EM }, + { "ElectromagneticIWL", GKYL_GK_FIELD_EM_IWL }, { 0, 0 } }; diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index cb123e1000..cb0762a1d1 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -33,6 +33,8 @@ gyrokinetic_forward_euler(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_neut_species_step_f(gkns, fout_neut[i], dta, fin_neut[i]); gk_neut_species_bflux_step_f(app, &gkns->bflux, bflux_out_neut[i], dta, bflux_in_neut[i]); } + gk_field_step_apar(app->field, app->field->apardot, dta, app->field->apar); + app->stat.fwd_euler_step_f_tm += gkyl_time_diff_now_sec(wst); app->stat.fwd_euler_tm += gkyl_time_diff_now_sec(wst_fe); @@ -130,7 +132,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) // Recalculate the field. for (int i=0; inum_species; ++i) fin[i] = app->species[i].f; - gyrokinetic_calc_field(app, tcurr, fin); + gyrokinetic_calc_field(app, tcurr, fin); // Why don't we apply BCs here? // Collect stats. double dt_rel_diff = (dt-st.dt_actual)/st.dt_actual; diff --git a/gyrokinetic/zero/fem_poisson_perp.c b/gyrokinetic/zero/fem_poisson_perp.c index 96085bb331..7dab8a515a 100644 --- a/gyrokinetic/zero/fem_poisson_perp.c +++ b/gyrokinetic/zero/fem_poisson_perp.c @@ -2,6 +2,8 @@ #include #include +void gkyl_fem_poisson_perp_build_stiffness_matrix(struct gkyl_fem_poisson_perp *up); + struct gkyl_fem_poisson_perp* gkyl_fem_poisson_perp_new(const struct gkyl_range *solve_range, const struct gkyl_rect_grid *grid, const struct gkyl_basis basis, struct gkyl_poisson_bc *bcs, struct gkyl_array *epsilon, @@ -27,17 +29,17 @@ gkyl_fem_poisson_perp_new(const struct gkyl_range *solve_range, const struct gky // We assume epsilon and kSq live on the device, and we create a host-side // copies temporarily to compute the LHS matrix. This also works for CPU solves. - struct gkyl_array *epsilon_ho = gkyl_array_new(GKYL_DOUBLE, up->epsilon->ncomp, up->epsilon->size); - gkyl_array_copy(epsilon_ho, up->epsilon); - struct gkyl_array *kSq_ho; + up->epsilon_ho = gkyl_array_new(GKYL_DOUBLE, up->epsilon->ncomp, up->epsilon->size); + gkyl_array_copy(up->epsilon_ho, up->epsilon); if (kSq) { up->ishelmholtz = true; - kSq_ho = gkyl_array_new(GKYL_DOUBLE, kSq->ncomp, kSq->size); - gkyl_array_copy(kSq_ho, kSq); + up->kSq = gkyl_array_acquire(kSq); + up->kSq_ho = gkyl_array_new(GKYL_DOUBLE, up->kSq->ncomp, up->kSq->size); + gkyl_array_copy(up->kSq_ho, up->kSq); } else { up->ishelmholtz = false; - kSq_ho = gkyl_array_new(GKYL_DOUBLE, up->num_basis, 1); - gkyl_array_clear(kSq_ho, 0.); + up->kSq_ho = gkyl_array_new(GKYL_DOUBLE, up->num_basis, 1); + gkyl_array_clear(up->kSq_ho, 0.); } up->globalidx = gkyl_malloc(sizeof(long[up->num_basis])); // global index, one for each basis in a cell. @@ -177,14 +179,22 @@ gkyl_fem_poisson_perp_new(const struct gkyl_range *solve_range, const struct gky up->prob = gkyl_superlu_prob_new(up->par_range.volume, up->numnodes_global, up->numnodes_global, 1); #endif - struct gkyl_mat_triples **tri = gkyl_malloc(up->par_range.volume*sizeof(struct gkyl_mat_triples *)); + up->tri = gkyl_malloc(up->par_range.volume*sizeof(struct gkyl_mat_triples *)); for (size_t i=0; ipar_range.volume; i++) { - tri[i] = gkyl_mat_triples_new(up->numnodes_global, up->numnodes_global); + up->tri[i] = gkyl_mat_triples_new(up->numnodes_global, up->numnodes_global); #ifdef GKYL_HAVE_CUDA - if (up->use_gpu) gkyl_mat_triples_set_rowmaj_order(tri[i]); + if (up->use_gpu) gkyl_mat_triples_set_rowmaj_order(up->tri[i]); #endif } + gkyl_fem_poisson_perp_build_stiffness_matrix(up); + + return up; +} + +void +gkyl_fem_poisson_perp_build_stiffness_matrix(struct gkyl_fem_poisson_perp *up) +{ // Assign non-zero elements in A. int idx0[GKYL_MAX_CDIM], idx1[GKYL_MAX_CDIM]; gkyl_range_iter_init(&up->par_iter1d, &up->par_range1d); @@ -200,8 +210,8 @@ gkyl_fem_poisson_perp_new(const struct gkyl_range *solve_range, const struct gky long linidx = gkyl_range_idx(up->solve_range, idx1); - double *eps_p = gkyl_array_fetch(epsilon_ho, linidx); - double *kSq_p = up->ishelmholtz? gkyl_array_fetch(kSq_ho, linidx) : gkyl_array_fetch(kSq_ho,0); + double *eps_p = gkyl_array_fetch(up->epsilon_ho, linidx); + double *kSq_p = up->ishelmholtz? gkyl_array_fetch(up->kSq_ho, linidx) : gkyl_array_fetch(up->kSq_ho,0); int keri = idx_to_inup_ker(up->ndim_perp, up->num_cells, up->perp_iter2d.idx); for (size_t d=0; dndim; d++) idx0[d] = idx1[d] - 1; @@ -209,26 +219,40 @@ gkyl_fem_poisson_perp_new(const struct gkyl_range *solve_range, const struct gky // Apply the -nabla . (epsilon*nabla_perp)-kSq stencil. keri = idx_to_inloup_ker(up->ndim_perp, up->num_cells, idx1); - up->kernels->lhsker[keri](eps_p, kSq_p, up->dx, up->bcvals, up->globalidx, tri[paridx]); + up->kernels->lhsker[keri](eps_p, kSq_p, up->dx, up->bcvals, up->globalidx, up->tri[paridx]); } } #ifdef GKYL_HAVE_CUDA if (up->use_gpu) - gkyl_culinsolver_amat_from_triples(up->prob_cu, tri); + gkyl_culinsolver_amat_from_triples(up->prob_cu, up->tri); else - gkyl_superlu_amat_from_triples(up->prob, tri); + gkyl_superlu_amat_from_triples(up->prob, up->tri); #else - gkyl_superlu_amat_from_triples(up->prob, tri); + gkyl_superlu_amat_from_triples(up->prob, up->tri); #endif + + up->make_stiff = false; // Reset the flag. +} - for (size_t i=0; ipar_range.volume; i++) - gkyl_mat_triples_release(tri[i]); - gkyl_free(tri); +void +gkyl_fem_poisson_perp_update_epsilon(struct gkyl_fem_poisson_perp *up, struct gkyl_array *epsilon) +{ + gkyl_array_release(up->epsilon); + up->epsilon = gkyl_array_acquire(epsilon); + gkyl_array_copy(up->epsilon_ho, up->epsilon); - gkyl_array_release(epsilon_ho); - gkyl_array_release(kSq_ho); + up->make_stiff = true; // Need to remake the stiffness matrix. +} - return up; +void +gkyl_fem_poisson_perp_update_kSq(struct gkyl_fem_poisson_perp *up, struct gkyl_array *kSq) +{ + assert(up->ishelmholtz); + gkyl_array_release(up->kSq); + up->kSq = gkyl_array_acquire(kSq); + gkyl_array_copy(up->kSq_ho, up->kSq); + + up->make_stiff = true; // Need to remake the stiffness matrix. } void @@ -310,6 +334,11 @@ gkyl_fem_poisson_perp_set_rhs(gkyl_fem_poisson_perp *up, struct gkyl_array *rhsi void gkyl_fem_poisson_perp_solve(gkyl_fem_poisson_perp *up, struct gkyl_array *phiout) { + + // Check if we need to rebuild the stiffness matrix (if epsilon or kSq got updated). + if (up->make_stiff) + gkyl_fem_poisson_perp_build_stiffness_matrix(up); + #ifdef GKYL_HAVE_CUDA if (up->use_gpu) { assert(gkyl_array_is_cu_dev(phiout)); @@ -376,5 +405,12 @@ void gkyl_fem_poisson_perp_release(struct gkyl_fem_poisson_perp *up) gkyl_free(up->perp_range); gkyl_free(up->globalidx); gkyl_array_release(up->epsilon); + gkyl_array_release(up->epsilon_ho); + if (up->ishelmholtz) + gkyl_array_release(up->kSq); + gkyl_array_release(up->kSq_ho); + for (size_t i=0; ipar_range.volume; i++) + gkyl_mat_triples_release(up->tri[i]); + gkyl_free(up->tri); gkyl_free(up); } diff --git a/gyrokinetic/zero/gkyl_fem_poisson_perp.h b/gyrokinetic/zero/gkyl_fem_poisson_perp.h index c5e7166836..9821be893f 100644 --- a/gyrokinetic/zero/gkyl_fem_poisson_perp.h +++ b/gyrokinetic/zero/gkyl_fem_poisson_perp.h @@ -40,6 +40,28 @@ struct gkyl_fem_poisson_perp* gkyl_fem_poisson_perp_new( const struct gkyl_basis basis, struct gkyl_poisson_bc *bcs, struct gkyl_array *epsilon, struct gkyl_array *kSq, bool use_gpu); +/** + * Update the epsilon array and set the make_stiff flag to true to recompute stiffness + * matrix at the next solve call. + * + * @param up updater to solver. + * @param epsilon new epsilon array. + */ +void +gkyl_fem_poisson_perp_update_epsilon(struct gkyl_fem_poisson_perp *up, struct gkyl_array *epsilon); + +/** + * Update the kSq array and set the make_stiff flag to true to recompute stiffness + * matrix at the next solve call. The kSq must be passed as a non Null pointer to array + * in the gkyl_fem_poisson_perp_new call. + * + * @param up updater to solver. + * @param kSq new kSq array. + */ +void +gkyl_fem_poisson_perp_update_kSq(struct gkyl_fem_poisson_perp *up, struct gkyl_array *kSq); + + /** * Assign the right-side vector with the discontinuous (DG) source field. * diff --git a/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h b/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h index 48d28084af..583df01f6f 100644 --- a/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h +++ b/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h @@ -461,7 +461,12 @@ struct gkyl_fem_poisson_perp { bool isdirperiodic[GKYL_MAX_DIM]; // =true if direction is periodic. struct gkyl_array *epsilon; // Permittivity. + struct gkyl_array *epsilon_ho; // Permittivity on host. + struct gkyl_array *kSq; // k squared (Helmholtz term). + struct gkyl_array *kSq_ho; // k square on host. bool ishelmholtz; // If solving Helmholtz equation (kSq is not zero/NULL). + bool make_stiff; // Flag to indicate if we need to remake the stiffness matrix. + struct gkyl_mat_triples **tri; // Matrix triples for building stiffness matrices. bool isdomperiodic; // =true if all directions are periodic. struct gkyl_array *rhs_cellavg; From 1291837eceaa0f4dee1993a3fa7231f9bf00289a Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 10 Oct 2025 20:38:25 -0400 Subject: [PATCH 002/181] fix merge conflicts --- gyrokinetic/apps/gk_field.c | 2 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 78e672a3c2..082ca0ca69 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -550,7 +550,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->dApartdtSlvr_kSq = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); // Compute the weights in front of the laplacian operator (metric x 1/mu0) - struct gkyl_array *Jgij[3] = {app->gk_geom->gxxj, app->gk_geom->gxyj, app->gk_geom->gyyj}; + struct gkyl_array *Jgij[3] = {app->gk_geom->geo_int.gxxj, app->gk_geom->geo_int.gxyj, app->gk_geom->geo_int.gyyj}; for (int i=0; icdim-2/app->cdim; i++) { gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index e4befad9c0..e8f4545bd9 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1071,7 +1071,16 @@ struct gk_field { struct gkyl_skin_surf_from_ghost *ssfg_x_lo; // Pointer to functions for the twist-and-shift BCs. - void (*enforce_zbc) (const gkyl_gyrokinetic_app *app, const struct gk_field *field, struct gkyl_array *finout); + void (*enforce_zbc) (const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout); + + // Pointer to function for electromagnetic field solve. + void (*accumulate_current) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]); + void (*accumulate_current_dot) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]); + void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); + void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); + void (*step_apar) (struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); }; // Gyrokinetic object: used as opaque pointer in user code. From 033255e0dd7cb011f3b388683b32e9cee56a0eb4 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 14 Oct 2025 11:50:37 -0400 Subject: [PATCH 003/181] rename apardot output file name from "dapartdt" to "apardot" --- gyrokinetic/apps/gyrokinetic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 606f2b42e1..f5c91a7aba 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1166,7 +1166,7 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm); } if (app->field->gkfield_id == GKYL_GK_FIELD_EM || app->field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { - const char *fmt = "%s-dapardt_%d.gkyl"; + const char *fmt = "%s-apardot_%d.gkyl"; int sz = gkyl_calc_strlen(fmt, app->name, frame); char fileNm[sz+1]; // ensures no buffer overflow snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); From 6cdedc086efaf74c4dfc309134d1372d2b12eefa Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Tue, 14 Oct 2025 13:45:32 -0700 Subject: [PATCH 004/181] add BC for ampere and ohm laws, fix the acquisition of apar and apardot in species. Mu0 needs to be set in the input file, other wise there will be a division by 0. --- gyrokinetic/apps/gk_field.c | 32 ++++++++++++++++++++--------- gyrokinetic/apps/gk_species.c | 9 ++++---- gyrokinetic/apps/gkyl_gyrokinetic.h | 4 ++-- 3 files changed, 28 insertions(+), 17 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 082ca0ca69..3daafa6721 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -176,7 +176,7 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); gkyl_fem_poisson_perp_set_rhs(field->fem_apardot, field->currentDensdot); gkyl_fem_poisson_perp_update_kSq(field->fem_apardot, field->dApartdtSlvr_kSq); - gkyl_fem_poisson_perp_solve(field->fem_apardot,field->apardot); + gkyl_fem_poisson_perp_solve(field->fem_apardot, field->apardot); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -554,12 +554,29 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) for (int i=0; icdim-2/app->cdim; i++) { gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); } + // Translate input file BCs into Ampere BCs. + struct gkyl_poisson_bc ampere_bcs = { }; + for (int d=0; dcdim-1; d++) { + struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); + if (bc_lo != 0) { + ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); + for (int i=0; i<3; i++) + ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; + } + + struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); + if (bc_up != 0) { + ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); + for (int i=0; i<3; i++) + ampere_bcs.up_value[d].v[i] = bc_up->value[i]; + } + } // FEM solver for Ampere equation (solved at IC only). f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->info.ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); + &ere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); // FEM solver for Ohm's law (evolves d(Apart)/dt). f->fem_apardot = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->info.ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + &ere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); // Pointer to function that solves Ohm's law and Amperes equation. f->ohm_solve = gk_field_ohm_solve; @@ -687,14 +704,9 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, gkyl_array_shiftc_range(field->rho_c, q_s*n_s0*dg_norm, 0, &app->local); } if (field->is_em) { - // Use m0 to update also the kSq matrix of the Ohm's law solver. - double fac = s->info.charge*s->info.charge/s->info.mass; - gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0.marr, &app->local); - } - if (field->is_em) { - // Use m0 to update also the kSq matrix of the Ohm's law solver. + // Use m0 to update also update the kSq matrix for the Ohm's law solver. double fac = s->info.charge*s->info.charge/s->info.mass; - gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0.marr, &app->local); + gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg.marr, &app->local); } } } diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 3f2128b277..5381d62ec4 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1650,9 +1650,10 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->flux_surf = mkarr(app->use_gpu, flux_surf_sz, gks->local_ext.volume); // 4. EM fields: phi and (if EM GK) Apar and d/dt Apar gks->gyro_phi = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - gks->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - gks->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - + if (app->field->is_em) { + gks->apar = gkyl_array_acquire(app->field->apar); + gks->apardot = gkyl_array_acquire(app->field->apardot); + } gks->calc_gk_vars = gkyl_dg_calc_gyrokinetic_vars_new(&gks->grid, &app->basis, &gks->basis, gks->info.charge, gks->info.mass, gks->gkmodel_id, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, app->use_gpu); @@ -1679,8 +1680,6 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st if (app->field->is_em) { // To compute current density for Ampere's law and current dot for Ohm's law. gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); - gks->apar = gkyl_array_acquire(app->field->apar); - gks->apardot = gkyl_array_acquire(app->field->apardot); } // Allocate data for diagnostic moments. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index 8bd0564f42..a70808f7b6 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -384,8 +384,8 @@ struct gkyl_gyrokinetic_field { struct gkyl_gyrokinetic_bc poisson_bcs[2*GKYL_MAX_CDIM]; // parameters for EMGK - struct gkyl_poisson_bc ampere_bcs; - double mu0; + struct gkyl_gyrokinetic_bc ampere_bcs[2*GKYL_MAX_CDIM]; + double mu0; // Magnetic permeability of free space. bool time_rate_diagnostics; // Writes the time rate of change of field energy. From 0cf7fa4f5c296d12f376a81e1a0389bd20d49ad6 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Tue, 14 Oct 2025 13:47:12 -0700 Subject: [PATCH 005/181] typo in m0_gyroavg (.marr stayed) --- gyrokinetic/apps/gk_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 3daafa6721..6863502b9c 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -706,7 +706,7 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, if (field->is_em) { // Use m0 to update also update the kSq matrix for the Ohm's law solver. double fac = s->info.charge*s->info.charge/s->info.mass; - gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg.marr, &app->local); + gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg, &app->local); } } } From 509c55b164658690500486329e6e0a5666410de0 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Tue, 14 Oct 2025 14:27:38 -0700 Subject: [PATCH 006/181] fix host array alloc and add a boolean to check if the field is em in the species struct. --- gyrokinetic/apps/gk_field.c | 6 ++++-- gyrokinetic/apps/gk_species.c | 19 ++++++++++++------- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 + 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 6863502b9c..fd64a55a2c 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -971,9 +971,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) if (f->is_em) { gkyl_array_release(f->apar); gkyl_array_release(f->apar_old); - gkyl_array_release(f->apar_host); gkyl_array_release(f->apardot); - gkyl_array_release(f->apardot_host); gkyl_array_release(f->apar_fem); gkyl_array_release(f->apardot_fem); gkyl_array_release(f->currentDens); @@ -982,6 +980,10 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->dApartdtSlvr_kSq); gkyl_fem_poisson_perp_release(f->fem_apar_solver); gkyl_fem_poisson_perp_release(f->fem_apardot); + if (app->use_gpu) { + gkyl_array_release(f->apar_host); + gkyl_array_release(f->apardot_host); + } } if (f->init_phi_pol) { diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 5381d62ec4..6a8b630736 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1605,6 +1605,7 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st // Determine field-type. gks->gkfield_id = app->field->gkfield_id; + gks->gkfield_is_em = app->field->is_em; if (gks->info.no_by) { gks->gkmodel_id = GKYL_GK_MODEL_NO_BY; } @@ -1650,10 +1651,14 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->flux_surf = mkarr(app->use_gpu, flux_surf_sz, gks->local_ext.volume); // 4. EM fields: phi and (if EM GK) Apar and d/dt Apar gks->gyro_phi = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - if (app->field->is_em) { + if (gks->gkfield_is_em) { gks->apar = gkyl_array_acquire(app->field->apar); gks->apardot = gkyl_array_acquire(app->field->apardot); } + else { + gks->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + gks->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + } gks->calc_gk_vars = gkyl_dg_calc_gyrokinetic_vars_new(&gks->grid, &app->basis, &gks->basis, gks->info.charge, gks->info.mass, gks->gkmodel_id, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, app->use_gpu); @@ -1677,7 +1682,7 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st // Allocate data for density (for charge density or upar calculation). gk_species_moment_init(app, gks, &gks->m0, GKYL_F_MOMENT_M0, false); - if (app->field->is_em) { + if (gks->gkfield_is_em) { // To compute current density for Ampere's law and current dot for Ohm's law. gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); } @@ -1717,7 +1722,7 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gkyl_sub_range_intersect(&gks->global_upper_ghost[dir], &gks->local_ext, &gks->global_upper_ghost[dir]); } - if (gk_app_inp->geometry.has_LCFS) { + if (gk_app_inp->geometry.has_LCFS) { // I think we could use field->is_clopen instead. Or call has_LCFS, is_clopen? // IWL simulation. Create core and SOL global ranges. int idx_LCFS_lo = app->gk_geom->idx_LCFS_lo; int len_core = idx_LCFS_lo; @@ -2069,12 +2074,12 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) // Release moment data. gk_species_moment_release(app, &s->m0); - if (app->field->gkfield_id == GKYL_GK_FIELD_EM || app->field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + if (s->gkfield_is_em) gk_species_moment_release(app, &s->m1); - } - for (int i=0; iinfo.num_diag_moments; ++i) { + + for (int i=0; iinfo.num_diag_moments; ++i) gk_species_moment_release(app, &s->moms[i]); - } + gkyl_free(s->moms); gk_species_source_release(app, &s->src); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index e8f4545bd9..454e01b576 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -661,6 +661,7 @@ struct gk_species { enum gkyl_gkmodel_id gkmodel_id; // Gyrokinetic species model. enum gkyl_gkfield_id gkfield_id; // Gyrokinetic field model. + bool gkfield_is_em; // To store whether the field is EM. struct gkyl_basis basis; // Phase-space basis. From 355f6f9a7745edaf51000d111b4b733a45320043 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 15 Oct 2025 10:08:17 -0400 Subject: [PATCH 007/181] add diagnostic for integrated Apar energy. --- gyrokinetic/apps/gk_field.c | 30 ++++++++++++++++++++++++ gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 ++ gyrokinetic/apps/gyrokinetic.c | 13 ++++++++++ 3 files changed, 45 insertions(+) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 082ca0ca69..48a0ceb02a 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -462,6 +462,18 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) 1, GKYL_ARRAY_INTEGRATE_OP_EPS_GRADPERP_SQ, app->use_gpu); } + f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); + // Factor for EM energy. + if (f->is_em) { + assert(f->info.mu0 > 0.0); + assert(app->cdim > 1); // EM is not implemented in 1x yet. + f->apar_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); + struct gkyl_array *Jgij[3] = {app->gk_geom->geo_int.gxxj, app->gk_geom->geo_int.gxyj, app->gk_geom->geo_int.gyyj}; + for (int i=0; icdim-2/app->cdim; i++) { + gkyl_array_set_offset(f->apar_energy_fac, -0.5/f->info.mu0, Jgij[i], i*app->basis.num_basis); // the -1 is to be consistent with ES energy. + } + } + f->calc_energy_dt_func = gk_field_calc_energy_dt_none; if (f->info.time_rate_diagnostics) { f->calc_energy_dt_func = gk_field_calc_energy_dt_active; @@ -943,6 +955,22 @@ gk_field_calc_energy(gkyl_gyrokinetic_app *app, double tm, const struct gk_field gkyl_dynvec_append(field->integ_energy_dot, tm, energy_dot_global); } + + if (field->is_em) { + gkyl_array_integrate_advance(field->calc_em_energy, field->apar, + 1.0, field->apar_energy_fac, &app->local, &app->local, field->em_energy_red); + + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->em_energy_red, field->em_energy_red_global); + + double energy_global[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_global, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_global[0] = field->em_energy_red_global[0]; + + gkyl_dynvec_append(field->integ_apar_energy, tm, energy_global); + } + app->stat.field_diag_calc_tm += gkyl_time_diff_now_sec(wst); } @@ -968,8 +996,10 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); gkyl_array_release(f->dApartdtSlvr_kSq); + gkyl_array_release(f->apar_energy_fac); gkyl_fem_poisson_perp_release(f->fem_apar_solver); gkyl_fem_poisson_perp_release(f->fem_apardot); + gkyl_dynvec_release(f->integ_apar_energy); } if (f->init_phi_pol) { diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index e8f4545bd9..53d21dab40 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1017,6 +1017,7 @@ struct gk_field { double es_energy_fac_1d; struct gkyl_array *es_energy_fac; + struct gkyl_array *apar_energy_fac; bool is_dirichletvar; // Whether user provided spatially varying phi BCs. struct gkyl_array *phi_bc; // Spatially varying BC. struct gkyl_array *epsilon; // Polarization weight including geometric factors. @@ -1041,6 +1042,7 @@ struct gk_field { struct gkyl_array_integrate *calc_em_energy; double *em_energy_red, *em_energy_red_global; // memory for use in GPU reduction of EM energy gkyl_dynvec integ_energy; // integrated energy components + gkyl_dynvec integ_apar_energy; // integrated EM energy components (separate from electrostatic energy for debugging purposes) bool is_first_energy_write_call; // flag for energy dynvec written first time double *em_energy_red_old, *em_energy_red_new; // memory for use in GPU reduction of old EM energy. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index f5c91a7aba..77e9cbd3bd 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1207,6 +1207,11 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) char fileNm0[sz0+1]; // ensures no buffer overflow snprintf(fileNm0, sizeof fileNm0, fmt0, app->name); + const char *fmt0_apar = "%s-apar_energy.gkyl"; + int sz0_apar = gkyl_calc_strlen(fmt0_apar, app->name); + char fileNm0_apar[sz0_apar+1]; // ensures no buffer overflow + snprintf(fileNm0_apar, sizeof fileNm0_apar, fmt0_apar, app->name); + int rank; gkyl_comm_get_rank(app->comm, &rank); @@ -1214,15 +1219,23 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) if (app->field->is_first_energy_write_call) { // Write to a new file (this ensure previous output is removed). gkyl_dynvec_write(app->field->integ_energy, fileNm0); + + if (app->field->is_em) + gkyl_dynvec_write(app->field->integ_apar_energy, fileNm0_apar); + app->field->is_first_energy_write_call = false; } else { // Append to existing file. gkyl_dynvec_awrite(app->field->integ_energy, fileNm0); + if (app->field->is_em) + gkyl_dynvec_awrite(app->field->integ_apar_energy, fileNm0_apar); } app->stat.n_field_diag_io += 1; } gkyl_dynvec_clear(app->field->integ_energy); + if (app->field->is_em) + gkyl_dynvec_clear(app->field->integ_apar_energy); if (app->field->info.time_rate_diagnostics) { // Write out the time rate of change of the field energy. From d426e40427a4deaa59b4356b1b50190ba55057c6 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 15 Oct 2025 10:22:50 -0400 Subject: [PATCH 008/181] remove unused arrays --- gyrokinetic/apps/gk_field.c | 4 ---- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 -- 2 files changed, 6 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index b5b177a7e0..c882603720 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -554,8 +554,6 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->apardot_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); } - f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apardot_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->currentDens = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->currentDensdot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->lapWeightAmpere = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); @@ -1000,8 +998,6 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->apar); gkyl_array_release(f->apar_old); gkyl_array_release(f->apardot); - gkyl_array_release(f->apar_fem); - gkyl_array_release(f->apardot_fem); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index e3c50db09f..0e4beec09a 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1006,8 +1006,6 @@ struct gk_field { struct gkyl_array *apardot_host; // host copy for use IO struct gkyl_array *currentDens; // current density struct gkyl_array *currentDensdot; // time derivative of current density - struct gkyl_array *apar_fem; // auxiliary array for A_parallel - struct gkyl_array *apardot_fem; // auxiliary array for d/dt A_parallel struct gkyl_array *dApartdtSlvr_kSq; // contains sum_s q_s^2/m_s n_s struct gkyl_array *dApartdtSlvr_rhs; // contains sum_s q_s int dv vpar d/dt(F_s)* struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0) From 255ac969ee77de565ddab76519fe141c09301999 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 15 Oct 2025 10:32:10 -0400 Subject: [PATCH 009/181] bufix: move the apar enery dynvec inside the if em statement. --- gyrokinetic/apps/gk_field.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index c882603720..fcb5c09c04 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -175,6 +175,7 @@ static void gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); gkyl_fem_poisson_perp_set_rhs(field->fem_apardot, field->currentDensdot); + // The update of kSq is causing issues with leaks and valgrind. gkyl_fem_poisson_perp_update_kSq(field->fem_apardot, field->dApartdtSlvr_kSq); gkyl_fem_poisson_perp_solve(field->fem_apardot, field->apardot); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); @@ -462,9 +463,9 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) 1, GKYL_ARRAY_INTEGRATE_OP_EPS_GRADPERP_SQ, app->use_gpu); } - f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); // Factor for EM energy. if (f->is_em) { + f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); assert(f->info.mu0 > 0.0); assert(app->cdim > 1); // EM is not implemented in 1x yet. f->apar_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); From 3be111e868e8149facdaf44789513b9fde57f6c2 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 15 Oct 2025 11:55:25 -0400 Subject: [PATCH 010/181] kSq in the Ohm's law fem_poisson_perp solver is now updated by releasing and recreating a solver because just rebuilding the matrix introduces memory leaks. --- gyrokinetic/apps/gk_field.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index fcb5c09c04..37946d8c56 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -174,9 +174,16 @@ gk_field_accumulate_current_dens_none(gkyl_gyrokinetic_app *app, struct gk_field static void gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); - gkyl_fem_poisson_perp_set_rhs(field->fem_apardot, field->currentDensdot); + // The update of kSq is causing issues with leaks and valgrind. - gkyl_fem_poisson_perp_update_kSq(field->fem_apardot, field->dApartdtSlvr_kSq); + // gkyl_fem_poisson_perp_update_kSq(field->fem_apardot, field->dApartdtSlvr_kSq); + + // Temporary solution to avoid superLU leak when updating kSq: we release and re-create the solver + gkyl_fem_poisson_perp_release(field->fem_apardot); + field->fem_apardot = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &field->ampere_bcs, field->lapWeightAmpere, field->dApartdtSlvr_kSq, app->use_gpu); + + gkyl_fem_poisson_perp_set_rhs(field->fem_apardot, field->currentDensdot); gkyl_fem_poisson_perp_solve(field->fem_apardot, field->apardot); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -566,28 +573,27 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); } // Translate input file BCs into Ampere BCs. - struct gkyl_poisson_bc ampere_bcs = { }; for (int d=0; dcdim-1; d++) { struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); if (bc_lo != 0) { - ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); + f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); for (int i=0; i<3; i++) - ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; + f->ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; } struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); if (bc_up != 0) { - ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); + f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); for (int i=0; i<3; i++) - ampere_bcs.up_value[d].v[i] = bc_up->value[i]; + f->ampere_bcs.up_value[d].v[i] = bc_up->value[i]; } } // FEM solver for Ampere equation (solved at IC only). f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &ere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); + &f->ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); // FEM solver for Ohm's law (evolves d(Apart)/dt). f->fem_apardot = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &ere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + &f->ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); // Pointer to function that solves Ohm's law and Amperes equation. f->ohm_solve = gk_field_ohm_solve; From 5819a154ca33d75ac03cc7c4f82c8fc106de1cf8 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 15 Oct 2025 11:56:11 -0400 Subject: [PATCH 011/181] need to pass bc in the structure to do the release remake poisson perp solver --- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 + 1 file changed, 1 insertion(+) diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 0e4beec09a..0cd2760c52 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1011,6 +1011,7 @@ struct gk_field { struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0) struct gkyl_fem_poisson_perp *fem_apar_solver; // Solver for IC Apar struct gkyl_fem_poisson_perp *fem_apardot; // Solver for d(Apar)/dt + struct gkyl_poisson_bc ampere_bcs; // BCs for Apar and d(Apar)/dt }; }; From 952e1eef2d3ddd0b786369c0d45321086ada5cc0 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Oct 2025 10:51:56 -0400 Subject: [PATCH 012/181] Add 1x solvers for EM, refactor a few arrays, remove unused ones, add em computation in comp time, note a "TODO" for the next step, lso removed an unused variable in fem_poisson_perp --- gyrokinetic/apps/gk_field.c | 187 ++++++++++++++++------- gyrokinetic/apps/gk_species.c | 1 + gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 40 +++-- gyrokinetic/apps/gyrokinetic.c | 7 +- gyrokinetic/zero/fem_poisson_perp.c | 5 +- 5 files changed, 169 insertions(+), 71 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 37946d8c56..ba310185c6 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -145,20 +145,20 @@ gk_field_accumulate_current_dens_dyn(gkyl_gyrokinetic_app *app, struct gk_field static void gk_field_accumulate_current_dens_dot_none(gkyl_gyrokinetic_app *app, struct gk_field *field, - const struct gkyl_array *fin[]) + struct gkyl_array *rhs_in[]) { } static void gk_field_accumulate_current_dens_dot_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, - const struct gkyl_array *fin[]) + struct gkyl_array *rhs_in[]) { struct timespec wst = gkyl_wall_clock(); gkyl_array_clear(field->currentDensdot, 0.0); for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; - gk_species_moment_calc(&s->m1, s->local, app->local, fin[i]); + gk_species_moment_calc(&s->m1, s->local, app->local, rhs_in[i]); gkyl_array_accumulate_range(field->currentDensdot, s->info.charge, s->m1.marr, &app->local); } @@ -176,15 +176,45 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); // The update of kSq is causing issues with leaks and valgrind. - // gkyl_fem_poisson_perp_update_kSq(field->fem_apardot, field->dApartdtSlvr_kSq); - + // gkyl_fem_poisson_perp_update_kSq(field->fem_apardot_solver, field->dApartdtSlvr_kSq); + // Temporary solution to avoid superLU leak when updating kSq: we release and re-create the solver - gkyl_fem_poisson_perp_release(field->fem_apardot); - field->fem_apardot = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + gkyl_fem_poisson_perp_release(field->fem_apardot_solver); + field->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, &field->ampere_bcs, field->lapWeightAmpere, field->dApartdtSlvr_kSq, app->use_gpu); - gkyl_fem_poisson_perp_set_rhs(field->fem_apardot, field->currentDensdot); - gkyl_fem_poisson_perp_solve(field->fem_apardot, field->apardot); + gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); + gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +/** + * @brief Solve Ohm's law in the parallel direction, i.e. + * + * (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) dApar/dt = sum_s q_s int dv vpar d/dt(F_s) + * + * The first parenthesis is computed in dApartdtSlvr_lhs_factor_global. The right hand side is in currentDensdot_global. + */ +static void +gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + + // Compute the new dApartdtSlvr_kSq (= k_perp^2/mu_0 + sum_s q_s^2 n_s/m_s) + gkyl_array_set(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq); + gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->lapWeightAmpere, &app->local); + gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->dApartdtSlvr_lhs_factor, field->dApartdtSlvr_lhs_factor_global); + + gkyl_fem_parproj_release(field->fem_apardot_parproj); + field->fem_apardot_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, + field->fem_parproj_ampere_bc, field->dApartdtSlvr_lhs_factor_global, 0, app->use_gpu); + + gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->currentDensdot, field->currentDensdot_global); + + gkyl_fem_parproj_set_rhs(field->fem_apardot_parproj, field->currentDensdot_global, field->currentDensdot_global); + gkyl_fem_parproj_solve(field->fem_apardot_parproj, field->phi_fem); + + gkyl_array_copy_range_to_range(field->apardot, field->phi_fem, &app->local, &field->global_sub_range); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -201,6 +231,21 @@ gk_field_ampere_solve(gkyl_gyrokinetic_app *app, struct gk_field *field){ app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } +static void +gk_field_ampere_solve_1x(gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + + gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->currentDens, field->currentDens_global); + + gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->currentDens_global, field->currentDens_global); + gkyl_fem_parproj_solve(field->fem_apar_parproj, field->phi_fem); + + gkyl_array_copy_range_to_range(field->apar, field->phi_fem, &app->local, &field->global_sub_range); + + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + + static void gk_field_ampere_solve_none(gkyl_gyrokinetic_app *app, struct gk_field *field) { @@ -470,18 +515,6 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) 1, GKYL_ARRAY_INTEGRATE_OP_EPS_GRADPERP_SQ, app->use_gpu); } - // Factor for EM energy. - if (f->is_em) { - f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); - assert(f->info.mu0 > 0.0); - assert(app->cdim > 1); // EM is not implemented in 1x yet. - f->apar_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); - struct gkyl_array *Jgij[3] = {app->gk_geom->geo_int.gxxj, app->gk_geom->geo_int.gxyj, app->gk_geom->geo_int.gyyj}; - for (int i=0; icdim-2/app->cdim; i++) { - gkyl_array_set_offset(f->apar_energy_fac, -0.5/f->info.mu0, Jgij[i], i*app->basis.num_basis); // the -1 is to be consistent with ES energy. - } - } - f->calc_energy_dt_func = gk_field_calc_energy_dt_none; if (f->info.time_rate_diagnostics) { f->calc_energy_dt_func = gk_field_calc_energy_dt_active; @@ -567,40 +600,78 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->lapWeightAmpere = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->dApartdtSlvr_kSq = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - // Compute the weights in front of the laplacian operator (metric x 1/mu0) - struct gkyl_array *Jgij[3] = {app->gk_geom->geo_int.gxxj, app->gk_geom->geo_int.gxyj, app->gk_geom->geo_int.gyyj}; - for (int i=0; icdim-2/app->cdim; i++) { - gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); + if (app->cdim == 1) { + f->currentDens_global = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); + f->currentDensdot_global = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); + f->dApartdtSlvr_lhs_factor = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->dApartdtSlvr_lhs_factor_global = mkarr(app->use_gpu, f->dApartdtSlvr_lhs_factor->ncomp, app->global_ext.volume); + + // Need to set weight to kperpsq*polarizationWeight for use in potential smoothing. + gkyl_array_copy(f->lapWeightAmpere, app->gk_geom->geo_int.jacobgeo); + gkyl_array_scale(f->lapWeightAmpere, f->info.kperpSq); + + f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; + for (int d=0; dnum_periodic_dir; ++d) + if (app->periodic_dirs[d] == app->cdim-1) f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_PERIODIC; + + f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, + f->fem_parproj_ampere_bc, f->lapWeightAmpere, 0, app->use_gpu); + + // Declare a dummy solver for d(Apar)/dt (will be updated at each time step). + f->fem_apardot_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, + f->fem_parproj_ampere_bc, f->dApartdtSlvr_kSq, 0, app->use_gpu); + + f->ohm_solve = gk_field_ohm_solve_1x; + f->ampere_solve = gk_field_ampere_solve_1x; } - // Translate input file BCs into Ampere BCs. - for (int d=0; dcdim-1; d++) { - struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); - if (bc_lo != 0) { - f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); - for (int i=0; i<3; i++) - f->ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; + else if (app->cdim > 1) { + // Compute the weights in front of the laplacian operator (metric x 1/mu0) + struct gkyl_array *Jgij[3] = {app->gk_geom->geo_int.gxxj, app->gk_geom->geo_int.gxyj, app->gk_geom->geo_int.gyyj}; + for (int i=0; icdim-2/app->cdim; i++) { + gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); } + // Translate input file BCs into Ampere BCs. + for (int d=0; dcdim-1; d++) { + struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); + if (bc_lo != 0) { + f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); + for (int i=0; i<3; i++) + f->ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; + } - struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); - if (bc_up != 0) { - f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); - for (int i=0; i<3; i++) - f->ampere_bcs.up_value[d].v[i] = bc_up->value[i]; + struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); + if (bc_up != 0) { + f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); + for (int i=0; i<3; i++) + f->ampere_bcs.up_value[d].v[i] = bc_up->value[i]; + } } + // FEM solver for Ampere equation (solved at IC only). + f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &f->ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); + // FEM solver for Ohm's law (evolves d(Apart)/dt). + f->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &f->ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + + f->ohm_solve = gk_field_ohm_solve; + f->ampere_solve = gk_field_ampere_solve; } - // FEM solver for Ampere equation (solved at IC only). - f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); - // FEM solver for Ohm's law (evolves d(Apart)/dt). - f->fem_apardot = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); - - // Pointer to function that solves Ohm's law and Amperes equation. - f->ohm_solve = gk_field_ohm_solve; - f->ampere_solve = gk_field_ampere_solve; f->accumulate_current = gk_field_accumulate_current_dens_dyn; f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_dyn; f->step_apar = gk_field_step_apar_dyn; + + // Factor for EM energy. + f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); + f->apar_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); + f->apar_energy_fac_1d = 0; + assert(f->info.mu0 > 0.0); + if (app->cdim == 1) { + f->apar_energy_fac_1d = 0.5/f->info.mu0 * f->info.kperpSq; + f->apar_energy_fac_1d *= -1.0; // the -1 is to be consistent with ES energy. + } + else if (app->cdim > 1) { + gkyl_array_set(f->apar_energy_fac, -0.5, f->lapWeightAmpere); + } } // Create operator needed for FLR effects. @@ -864,10 +935,11 @@ void gk_field_step_apar (struct gk_field *field, struct gkyl_array* out, double } void -gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]){ +gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]){ struct timespec wst = gkyl_wall_clock(); - field->accumulate_current_dot(app, field, fin); + field->accumulate_current_dot(app, field, rhs_in); field->ohm_solve(app, field); + app->stat.field_tm += gkyl_time_diff_now_sec(wst); } static struct gkyl_app_restart_status @@ -985,6 +1057,9 @@ gk_field_calc_energy(gkyl_gyrokinetic_app *app, double tm, const struct gk_field else energy_global[0] = field->em_energy_red_global[0]; + if (app->cdim == 1) + energy_global[0] *= field->apar_energy_fac_1d; + gkyl_dynvec_append(field->integ_apar_energy, tm, energy_global); } @@ -1010,8 +1085,18 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->lapWeightAmpere); gkyl_array_release(f->dApartdtSlvr_kSq); gkyl_array_release(f->apar_energy_fac); - gkyl_fem_poisson_perp_release(f->fem_apar_solver); - gkyl_fem_poisson_perp_release(f->fem_apardot); + if (app->cdim > 1) { + gkyl_fem_poisson_perp_release(f->fem_apar_solver); + gkyl_fem_poisson_perp_release(f->fem_apardot_solver); + } + else { + gkyl_array_release(f->currentDens_global); + gkyl_array_release(f->currentDensdot_global); + gkyl_array_release(f->dApartdtSlvr_lhs_factor); + gkyl_array_release(f->dApartdtSlvr_lhs_factor_global); + gkyl_fem_parproj_release(f->fem_apar_parproj); + gkyl_fem_parproj_release(f->fem_apardot_parproj); + } if (app->use_gpu) { gkyl_array_release(f->apar_host); gkyl_array_release(f->apardot_host); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 6a8b630736..59f29655d0 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -205,6 +205,7 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, return dt_out; } +// TODO: Make this function do something. static double gk_species_em_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 0cd2760c52..7d0e3511de 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -999,24 +999,32 @@ struct gk_field { }; // EM GK model struct { - struct gkyl_array *apar; // array for A_parallel (solved only in ic) - struct gkyl_array *apar_old; // previous state of A_parallel (for update with apardot) - struct gkyl_array *apar_host; // host copy for use IO - struct gkyl_array *apardot; // array for d(A_parallel)/dt (solved through Ohm's law) - struct gkyl_array *apardot_host; // host copy for use IO - struct gkyl_array *currentDens; // current density - struct gkyl_array *currentDensdot; // time derivative of current density - struct gkyl_array *dApartdtSlvr_kSq; // contains sum_s q_s^2/m_s n_s - struct gkyl_array *dApartdtSlvr_rhs; // contains sum_s q_s int dv vpar d/dt(F_s)* - struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0) - struct gkyl_fem_poisson_perp *fem_apar_solver; // Solver for IC Apar - struct gkyl_fem_poisson_perp *fem_apardot; // Solver for d(Apar)/dt - struct gkyl_poisson_bc ampere_bcs; // BCs for Apar and d(Apar)/dt + struct gkyl_array *apar; // Array for A_parallel (solved only in ic). + struct gkyl_array *apar_old; // Previous state of A_parallel (for update with apardot). + struct gkyl_array *apar_host; // Host copy for use IO. + struct gkyl_array *apardot; // Array for d(A_parallel)/dt (solved through Ohm's law). + struct gkyl_array *apardot_host; // Host copy for use IO. + struct gkyl_array *currentDens; // Current density. + struct gkyl_array *currentDens_global; // Current density. + struct gkyl_array *currentDensdot; // Time derivative of current density. + struct gkyl_array *currentDensdot_global; // Time derivative of current density (accross all MPI ranks). + struct gkyl_array *dApartdtSlvr_kSq; // Contains sum_s q_s^2/m_s n_s. + struct gkyl_array *dApartdtSlvr_lhs_factor; // Contains kperp^2/mu_0 + sum_s q_s^2/m_s n_s for 1D Ohm solve. + struct gkyl_array *dApartdtSlvr_lhs_factor_global; // Contains kperp^2/mu_0 + sum_s q_s^2/m_s n_s for 1D Ohm solve. + struct gkyl_array *dApartdtSlvr_rhs; // Contains sum_s q_s int dv vpar d/dt(F_s)*. + struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0). + struct gkyl_fem_parproj *fem_apar_parproj; // FEM smoother for projecting Apar onto continuous FEM basis + struct gkyl_fem_parproj *fem_apardot_parproj; // FEM smoother for projecting d(Apar)/dt onto continuous FEM basis + struct gkyl_fem_poisson_perp *fem_apar_solver; // Solver for IC Apar. + struct gkyl_fem_poisson_perp *fem_apardot_solver; // Solver for d(Apar)/dt. + struct gkyl_poisson_bc ampere_bcs; // BCs for Apar and d(Apar)/dt. + enum gkyl_fem_parproj_bc_type fem_parproj_ampere_bc; // Type of BC for projecting onto FEM basis. }; }; double es_energy_fac_1d; struct gkyl_array *es_energy_fac; + double apar_energy_fac_1d; struct gkyl_array *apar_energy_fac; bool is_dirichletvar; // Whether user provided spatially varying phi BCs. struct gkyl_array *phi_bc; // Spatially varying BC. @@ -1079,7 +1087,7 @@ struct gk_field { void (*accumulate_current) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]); void (*accumulate_current_dot) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, - const struct gkyl_array *fin[]); + struct gkyl_array *rhs_in[]); void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); void (*step_apar) (struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); @@ -3177,9 +3185,9 @@ void gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field); * * @param app gyrokinetic app object. * @param field Pointer to field. - * @param fin[] Input distribution function (num_species size). + * @param rhs_in[] right-hand side of the ES GK equation for each species. */ -void gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]); +void gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]); /** * Read the field from a file. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 77e9cbd3bd..47f6e330dc 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1816,7 +1816,8 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, &app->neut_species[i].src, fin_neut[i], fout_neut[i]); } - gk_field_em_rhs(app, app->field, fin); + // Compute the electromagnetic field RHS (solves Ohm's law using RHS). + gk_field_em_rhs(app, app->field, fout); // Add electromagnetic contributions to the collisionless update of charged species. for (int i=0; inum_species; ++i) { @@ -1881,7 +1882,7 @@ gkyl_gyrokinetic_app_stat(gkyl_gyrokinetic_app* app) + stat->species_heat_tm + stat->neut_species_collisionless_tm + stat->neut_species_coll_tm + stat->neut_species_react_tm + stat->neut_species_omega_cfl_tm + stat->neut_species_src_tm + stat->dfdt_dt_reduce_tm + stat->fwd_euler_step_f_tm; - stat->field_sum_tm = stat->field_phi_rhs_tm + stat->field_phi_solve_tm; + stat->field_sum_tm = stat->field_phi_rhs_tm + stat->field_phi_solve_tm + stat->field_apar_rhs_tm + stat->field_apar_solve_tm; stat->bc_sum_tm = stat->species_bc_tm + stat->neut_species_bc_tm; stat->time_rate_diags_sum_tm = stat->fdot_tm + stat->phidot_tm; stat->pos_shift_sum_tm = stat->species_pos_shift_tm + stat->neut_species_pos_shift_tm + stat->pos_shift_quasineut_tm; @@ -1937,6 +1938,8 @@ gkyl_gyrokinetic_app_print_timings(gkyl_gyrokinetic_app* app, FILE *iostream) gkyl_gyrokinetic_app_cout(app, iostream, " * Field solves: %.4e sec. / %4.2f %%.\n", stat->field_tm, ratio_to_percent(stat->field_tm,stat->time_loop_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Phi eqn RHS: %.4e sec. / %4.2f %%.\n", stat->field_phi_rhs_tm , ratio_to_percent(stat->field_phi_rhs_tm ,stat->field_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Phi eqn solve: %.4e sec. / %4.2f %%.\n", stat->field_phi_solve_tm, ratio_to_percent(stat->field_phi_solve_tm,stat->field_tm, 0.0)); + gkyl_gyrokinetic_app_cout(app, iostream, " ^ Apar eqn RHS: %.4e sec. / %4.2f %%.\n", stat->field_apar_rhs_tm , ratio_to_percent(stat->field_apar_rhs_tm ,stat->field_tm, 0.0)); + gkyl_gyrokinetic_app_cout(app, iostream, " ^ Apar eqn solve: %.4e sec. / %4.2f %%.\n", stat->field_apar_solve_tm, ratio_to_percent(stat->field_apar_solve_tm,stat->field_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Accounted for: %4.2f %%.\n", ratio_to_percent(stat->field_sum_tm, stat->field_tm, 100.0)); gkyl_gyrokinetic_app_cout(app, iostream, " * Boundary conditions:: %.4e sec. / %4.2f %%.\n", stat->bc_tm, ratio_to_percent(stat->bc_tm,stat->time_loop_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Species (charged): %.4e sec. / %4.2f %%.\n", stat->species_bc_tm , ratio_to_percent(stat->species_bc_tm ,stat->bc_tm, 0.0)); diff --git a/gyrokinetic/zero/fem_poisson_perp.c b/gyrokinetic/zero/fem_poisson_perp.c index 7dab8a515a..dff3fd154a 100644 --- a/gyrokinetic/zero/fem_poisson_perp.c +++ b/gyrokinetic/zero/fem_poisson_perp.c @@ -203,7 +203,6 @@ gkyl_fem_poisson_perp_build_stiffness_matrix(struct gkyl_fem_poisson_perp *up) gkyl_range_iter_init(&up->perp_iter2d, &up->perp_range2d); while (gkyl_range_iter_next(&up->perp_iter2d)) { - long perpidx = gkyl_range_idx(&up->perp_range2d, up->perp_iter2d.idx); for (size_t d=0; dndim_perp; d++) idx1[d] = up->perp_iter2d.idx[d]; idx1[up->pardir] = up->par_iter1d.idx[0]; @@ -336,8 +335,10 @@ void gkyl_fem_poisson_perp_solve(gkyl_fem_poisson_perp *up, struct gkyl_array *phiout) { // Check if we need to rebuild the stiffness matrix (if epsilon or kSq got updated). - if (up->make_stiff) + if (up->make_stiff) { + assert(false); // AH Oct 15, 2025: This call is not valgrind clean. It seems that we cannot rebuild the matrix that easily. gkyl_fem_poisson_perp_build_stiffness_matrix(up); + } #ifdef GKYL_HAVE_CUDA if (up->use_gpu) { From e2dfc0c6c366072b046e3288353928620b9ea70c Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Oct 2025 11:17:51 -0400 Subject: [PATCH 013/181] still unstable version but compiles. --- gyrokinetic/apps/gk_species.c | 35 ------------------------ gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 ++ 2 files changed, 2 insertions(+), 35 deletions(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 6feeff74a1..8175777986 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -105,41 +105,6 @@ gk_species_update_bflux_and_cfl(gkyl_gyrokinetic_app *app, struct gk_species *sp return dt_out; } -static void -gk_species_collisionless_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, - const struct gkyl_array *fin, struct gkyl_array *rhs) -{ - struct timespec wst = gkyl_wall_clock(); - - // Compute the surface expansion of the phase space flux - // Note: Each cell stores the *lower* surface expansions of the - // phase space flux, so local_ext range needed to index the output - // values of flux_surf even though we only loop over local ranges - // to avoid evaluating quantities such as geometry in ghost cells - // where they are not defined. - gkyl_dg_calc_gyrokinetic_vars_flux_surf(species->calc_gk_vars, - &app->local, &species->local, &app->local_ext, &species->local_ext, - species->gyro_phi, fin, species->flux_surf, species->cflrate); - - gkyl_dg_updater_gyrokinetic_advance(species->slvr, &species->local, - fin, species->cflrate, rhs); - - app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); -} - -static void -gk_species_collisionless_rhs_disabled(gkyl_gyrokinetic_app *app, struct gk_species *species, - const struct gkyl_array *fin, struct gkyl_array *rhs) -{ -} - -static void -gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, - const struct gkyl_array *fin, struct gkyl_array *rhs) -{ - species->collisionless_rhs_func(app, species, fin, rhs); -} - static double gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 95129950e0..47aabbb241 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -707,6 +707,8 @@ struct gk_species { struct gkyl_array *f_host; // Host copy for IO and initialization. struct gkyl_array *gyro_phi; // Gyroaveraged electrostatic potential. + struct gkyl_array *apar; // Parallel component of vector potential (for EM simulations). + struct gkyl_array *apardot; // Time derivative of parallel component of vector potential. struct gk_species_moment m0; // Computes charge density. struct gk_species_moment m1; // Computes current density. From 736260b303dfe117e92580e2f4c95b1bfb8a11c3 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Oct 2025 11:37:59 -0400 Subject: [PATCH 014/181] remove em from species and put it in the collisionless structure. Note: We cannot use GKYL_GK_COLLISIONLESS_EM because this will remove the kernels for surf and volume terms... I want EM to keep them and just call new ones that will only add the EM contributions, especially because I need the ES RHS to compute current dot. We'll have to think about how to do that in a good way --- gyrokinetic/apps/gk_species.c | 13 ++----------- gyrokinetic/apps/gk_species_collisionless.c | 3 ++- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 6 ++---- 3 files changed, 6 insertions(+), 16 deletions(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 8175777986..ce8d100dac 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1557,7 +1557,6 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st else gks->upper_bc[d].type = GKYL_BC_GK_SKIP; } -gks->gkfield_is_em = app->field->is_em; // Allocate distribution function arrays. gks->f = mkarr(app->use_gpu, gks->basis.num_basis, gks->local_ext.volume); @@ -1628,14 +1627,6 @@ gks->gkfield_is_em = app->field->is_em; gks->collisionless = (struct gk_collisionless) { }; gk_species_collisionless_init(app, gks, &gks->collisionless); - if (gks->gkfield_is_em) { - gks->apar = gkyl_array_acquire(app->field->apar); - gks->apardot = gkyl_array_acquire(app->field->apardot); - } - else { - gks->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - gks->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - } // Initialize an anomalous diffusion term. gks->anom_diff = (struct gk_anomalous_diff) { }; gk_species_anomalous_diff_init(app, gks, &gks->anom_diff); @@ -1643,7 +1634,7 @@ gks->gkfield_is_em = app->field->is_em; // Allocate data for density (for charge density or upar calculation). gk_species_moment_init(app, gks, &gks->m0, GKYL_F_MOMENT_M0, false); - if (gks->gkfield_is_em) { + if (gks->collisionless.is_em) { // To compute current density for Ampere's law and current dot for Ohm's law. gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); } @@ -1979,7 +1970,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) // Release moment data. gk_species_moment_release(app, &s->m0); - if (s->gkfield_is_em) + if (s->collisionless.is_em) gk_species_moment_release(app, &s->m1); for (int i=0; iinfo.num_diag_moments; ++i) diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 8b995903b9..90a0b18578 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -63,6 +63,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie struct gk_collisionless *gkcls) { gkcls->collisionless_id = gks->info.collisionless.type; + gkcls->is_em = app->field->is_em; gkcls->write_diagnostics = gks->info.collisionless.write_diagnostics; gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; @@ -105,7 +106,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Allocate arrays to store surface phase space flux. gkcls->flux_surf = mkarr(app->use_gpu, flux_surf_sz, gks->local_ext.volume); - if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { + if (gkcls->is_em) { // Parallel component of magnetic vector potential. gkcls->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); gkcls->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 47aabbb241..a8cc2d5eca 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -214,6 +214,7 @@ struct gk_species; struct gk_collisionless { enum gkyl_gk_collisionless_type collisionless_id; // Type of collisionless terms. bool write_diagnostics; // Whether to write diagnostics out. + bool is_em; // To store whether we have EM effects. // Organization of the different equation objects and the required data and solvers struct gkyl_array *flux_surf; // Array for surface phase space flux @@ -679,7 +680,6 @@ struct gk_heating { // Species data. struct gk_species { struct gkyl_gyrokinetic_species info; // Input data. - bool gkfield_is_em; // To store whether the field is EM. struct gkyl_basis basis; // Phase-space basis. // Basis on device (points to host basis if running w/o GPU). @@ -707,9 +707,7 @@ struct gk_species { struct gkyl_array *f_host; // Host copy for IO and initialization. struct gkyl_array *gyro_phi; // Gyroaveraged electrostatic potential. - struct gkyl_array *apar; // Parallel component of vector potential (for EM simulations). - struct gkyl_array *apardot; // Time derivative of parallel component of vector potential. - + struct gk_species_moment m0; // Computes charge density. struct gk_species_moment m1; // Computes current density. struct gk_species_moment integ_moms; // Integrated moments. From 1a6cce3767f21f7950564af86dc65e50548cc589 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Oct 2025 14:42:13 -0400 Subject: [PATCH 015/181] Separation of the "NO_BY" and ES/EM options. collisionless_id sets now if we are evolving ES, EM_BPAR, EM_BPERP, or EM without mentioning NO_BY anymore. Instead a new boolean `no_by` is introduced in the collisionless public and private tables. The kernel selections is now done according to the value of no_by and not according to the collisionless_id anymore. This makes the code cleaner and avoid introducing three other enums for EM+NO_BY. --- core/zero/gkyl_eqn_type.h | 1 - gyrokinetic/apps/gk_species_collisionless.c | 5 ++-- gyrokinetic/apps/gkyl_gyrokinetic.h | 1 + gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 3 +- gyrokinetic/apps/gyrokinetic_lw.c | 1 - gyrokinetic/zero/dg_gyrokinetic.c | 12 ++++---- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 14 ++++----- gyrokinetic/zero/dg_updater_gyrokinetic.c | 4 +-- gyrokinetic/zero/gk_collisionless_flux.c | 25 ++++++++-------- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 29 +++++++++---------- gyrokinetic/zero/gkyl_dg_gyrokinetic.h | 4 +-- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 2 +- .../zero/gkyl_dg_updater_gyrokinetic.h | 4 +-- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 4 +-- .../zero/gkyl_gk_collisionless_flux_priv.h | 2 +- 15 files changed, 55 insertions(+), 56 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 0cd1a98c56..4b354c546a 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -177,7 +177,6 @@ enum gkyl_gk_anomalous_diff_id { enum gkyl_gk_collisionless_type { GKYL_GK_COLLISIONLESS_NONE = 0, // Turns off collisionless terms. GKYL_GK_COLLISIONLESS_ES, // Electrostatic. - GKYL_GK_COLLISIONLESS_ES_NO_BY, // Electrostatic, w/o toroidal field (b_y=0). GKYL_GK_COLLISIONLESS_EM_BPERP, // Electromagnetic with B_perp fluctuations. GKYL_GK_COLLISIONLESS_EM_BPAR, // Electromagnetic with B_par fluctuations. GKYL_GK_COLLISIONLESS_EM, // Electromagnetic with B_perp and B_par fluctuations. diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 90a0b18578..7eebd357e1 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -63,6 +63,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie struct gk_collisionless *gkcls) { gkcls->collisionless_id = gks->info.collisionless.type; + gkcls->no_by = gks->info.collisionless.no_by; gkcls->is_em = app->field->is_em; gkcls->write_diagnostics = gks->info.collisionless.write_diagnostics; @@ -123,7 +124,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie } gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->no_by, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, @@ -131,7 +132,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Create solver. gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->no_by, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); // Methods chosen at runtime. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index ac97e1eb3c..8a2040b470 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -70,6 +70,7 @@ struct gkyl_phase_diagnostics_inp { // Parameters for collisionless terms. struct gkyl_gyrokinetic_collisionless { enum gkyl_gk_collisionless_type type; // Type of collisionless terms. + bool no_by; // Whether to neglect the toroidal field (b_y=0) bool write_diagnostics; // Whether to output diagnostics. }; diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index a8cc2d5eca..024b0fe5b4 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -213,8 +213,9 @@ struct gk_species; struct gk_collisionless { enum gkyl_gk_collisionless_type collisionless_id; // Type of collisionless terms. + bool no_by; // Whether to neglect the toroidal field (b_y=0). + bool is_em; // Whether we have EM effects. bool write_diagnostics; // Whether to write diagnostics out. - bool is_em; // To store whether we have EM effects. // Organization of the different equation objects and the required data and solvers struct gkyl_array *flux_surf; // Array for surface phase space flux diff --git a/gyrokinetic/apps/gyrokinetic_lw.c b/gyrokinetic/apps/gyrokinetic_lw.c index 6cd165b810..7549463faa 100644 --- a/gyrokinetic/apps/gyrokinetic_lw.c +++ b/gyrokinetic/apps/gyrokinetic_lw.c @@ -58,7 +58,6 @@ static const struct gkyl_str_int_pair position_map_type[] = { static const struct gkyl_str_int_pair gk_collisionless_type[] = { { "None", GKYL_GK_COLLISIONLESS_NONE }, { "GKCollisionlessES", GKYL_GK_COLLISIONLESS_ES }, - { "GKCollisionlessES_no_by", GKYL_GK_COLLISIONLESS_ES_NO_BY }, { "GKCollisionlessEM_Bperp", GKYL_GK_COLLISIONLESS_EM_BPERP }, { "GKCollisionlessEM_Bpar", GKYL_GK_COLLISIONLESS_EM_BPAR }, { "GKCollisionlessEM", GKYL_GK_COLLISIONLESS_EM }, diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 4a6a884e0f..40fe241260 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -46,13 +46,13 @@ gkyl_gyrokinetic_set_auxfields(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_gyr struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_cell_threshold, enum gkyl_gk_collisionless_type collless_type, + const double charge, const double mass, double skip_cell_threshold, const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_dg_gyrokinetic_cu_dev_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, collless_type, gk_geom, vel_map); + charge, mass, skip_cell_threshold, no_by, gk_geom, vel_map); #endif struct dg_gyrokinetic *gyrokinetic = gkyl_malloc(sizeof(struct dg_gyrokinetic)); @@ -106,12 +106,12 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis break; } - if (collless_type == GKYL_GK_COLLISIONLESS_ES) { - gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); - } - else if (collless_type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + if (no_by) { gyrokinetic->eqn.vol_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); } + else { + gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); + } gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); if (cdim>1) diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 4f8de2ac59..2aa30eac05 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -37,7 +37,7 @@ gkyl_gyrokinetic_set_auxfields_cu(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_ // Doing function pointer stuff in here avoids troublesome cudaMemcpyFromSymbol __global__ static void dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_basis_type b_type, - int cv_index, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type collless_type) + int cv_index, int cdim, int vdim, int poly_order, const bool no_by) { gyrokinetic->auxfields.flux_surf = 0; gyrokinetic->auxfields.phi = 0; @@ -79,12 +79,12 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas break; } - if (collless_type == GKYL_GK_COLLISIONLESS_ES) { - gyrokinetic->eqn.vol_term = vol_kernels[cv_index].kernels[poly_order]; - } - else if (collless_type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + if (no_by) { gyrokinetic->eqn.vol_term = vol_no_by_kernels[cv_index].kernels[poly_order]; } + else { + gyrokinetic->eqn.vol_term = vol_kernels[cv_index].kernels[poly_order]; + } gyrokinetic->surf[0] = surf_x_kernels[cv_index].kernels[poly_order]; if (cdim>1) @@ -105,7 +105,7 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_cell_threshold, enum gkyl_gk_collisionless_type collless_type, + const double charge, const double mass, double skip_cell_threshold, const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) { struct dg_gyrokinetic *gyrokinetic = (struct dg_gyrokinetic*) gkyl_malloc(sizeof(*gyrokinetic)); @@ -144,7 +144,7 @@ gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gky gkyl_cu_memcpy(gyrokinetic_cu, gyrokinetic, sizeof(struct dg_gyrokinetic), GKYL_CU_MEMCPY_H2D); dg_gyrokinetic_set_cu_dev_ptrs<<<1,1>>>(gyrokinetic_cu, cbasis->b_type, cv_index[cdim].vdim[vdim], - cdim, vdim, poly_order, collless_type); + cdim, vdim, poly_order, no_by); // set parent on_dev pointer gyrokinetic->eqn.on_dev = &gyrokinetic_cu->eqn; diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index 5dc875fd80..98724d5c10 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -20,7 +20,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const struct gk_geometry *gk_geom, + const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu) { struct gkyl_dg_updater_gyrokinetic *up = gkyl_malloc(sizeof(struct gkyl_dg_updater_gyrokinetic)); @@ -28,7 +28,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, up->use_gpu = use_gpu; up->eqn_gyrokinetic = gkyl_dg_gyrokinetic_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, collless_type, gk_geom, vel_map, up->use_gpu); + charge, mass, skip_cell_threshold, no_by, gk_geom, vel_map, up->use_gpu); struct gkyl_dg_gyrokinetic_auxfields *gk_inp = aux_inp; gkyl_gyrokinetic_set_auxfields(up->eqn_gyrokinetic, *gk_inp); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 6ea95a5e3e..f07c78a61a 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -12,7 +12,7 @@ gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, enum gkyl_gk_collisionless_type type, + const double charge, const double mass, const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu) @@ -20,7 +20,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_gk_collisionless_flux_cu_dev_new(phase_grid, conf_basis, phase_basis, - charge, mass, type, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); + charge, mass, no_by, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); #endif gkyl_gk_collisionless_flux *up = gkyl_malloc(sizeof(gkyl_gk_collisionless_flux)); @@ -40,27 +40,26 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->gk_dg_geom = gkyl_gk_dg_geom_acquire(gk_dg_geom); up->vel_map = gkyl_velocity_map_acquire(vel_map); - if (type == GKYL_GK_COLLISIONLESS_ES) { + if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); - } - else if (type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + } else { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); } up->flags = 0; diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index 2d95e67072..21a88add72 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -199,10 +199,20 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, // Doing function pointer stuff in here avoids troublesome cudaMemcpyFromSymbol __global__ static void gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, - int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, + int cdim, int vdim, int poly_order, const bool no_by, const enum gkyl_gyrokinetic_bc_type *bctype_conf) { - if (type == GKYL_GK_COLLISIONLESS_ES) { + if (no_by) { + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + } else { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); @@ -213,23 +223,12 @@ gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, } up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); } - else if (type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); - } } gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, enum gkyl_gk_collisionless_type type, + const double charge, const double mass, const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf) @@ -267,7 +266,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, struct gkyl_gk_collisionless_flux *up_cu = (struct gkyl_gk_collisionless_flux*) gkyl_cu_malloc(sizeof(*up_cu)); gkyl_cu_memcpy(up_cu, up, sizeof(gkyl_gk_collisionless_flux), GKYL_CU_MEMCPY_H2D); - gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, cdim, vdim, poly_order, type, bctype_conf_dev); + gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, cdim, vdim, poly_order, no_by, bctype_conf_dev); gkyl_cu_free(bctype_conf_dev); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h index f4ada736a3..650accf811 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h @@ -27,7 +27,7 @@ struct gkyl_dg_gyrokinetic_auxfields { * @param charge Species charge * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation - * @param collless_type Type of collisionless terms. + * @param no_by Whether to neglect the toroidal field (b_y=0) * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param use_gpu Boolean to determine if gyrokinetic equation object is on device @@ -36,7 +36,7 @@ struct gkyl_dg_gyrokinetic_auxfields { struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const struct gk_geometry *gk_geom, + const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu); /** diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index e556f3ae55..2a1083be5f 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -469,7 +469,7 @@ boundary_diag(const struct gkyl_dg_eqn *eqn, */ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_if_smaller_than, enum gkyl_gk_collisionless_type collless_type, + const double charge, const double mass, double skip_if_smaller_than, const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); /** diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h index c1dfa9793b..722919a2fd 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h @@ -29,7 +29,7 @@ struct gkyl_dg_updater_gyrokinetic_tm { * @param charge Species charge * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation - * @param collless_type Type of collisionless terms. + * @param no_by Whether to neglect the toroidal field (b_y=0) * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param aux_inp Void pointer to auxiliary fields. Void to be flexible to different auxfields structs @@ -40,7 +40,7 @@ gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_r const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const struct gk_geometry *gk_geom, + const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); /** diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index e5717c0922..76380470f9 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -22,7 +22,7 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; * @param phase_basis Phase space basis functions * @param charge Species charge * @param mass Species mass - * @param collless_type Type of collisionless terms. + * @param no_by Whether to neglect the toroidal field (b_y=0) * @param gk_geom Gyrokinetic geometry object. * @param gk_dg_geom DG geometry object. * @param vel_map Velocity space mapping object. @@ -33,7 +33,7 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, + const double charge, const double mass, const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 45ac4a7559..29ba71a250 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -432,7 +432,7 @@ choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_o struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - double charge, double mass, enum gkyl_gk_collisionless_type collless_type, + double charge, double mass, const bool no_by, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf); From b0a64aae34a6ca9371db7d5c2be45a291ce40de9 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Oct 2025 14:46:28 -0400 Subject: [PATCH 016/181] adapt the regression tests that were using GKYL_GK_COLLISIONLESS_ES_NO_BY --- gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_bgk_im_cross_relax_1x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_lapd_cart_3x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_lbo_cross_relax_1x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_mdpx_cart_3x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_multib_asdex_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_multib_slab_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_multib_step_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_multib_step_sol_1x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_multib_step_sol_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_sheath_cx_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_sheath_flr_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_sheath_nonuniformx_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_slab_2x2v_p1.c | 6 ++++-- gyrokinetic/creg/rt_gk_step_2x2v_p1_cons.c | 6 ++++-- gyrokinetic/creg/rt_gk_step_out_2x2v_p1.c | 6 ++++-- 16 files changed, 64 insertions(+), 32 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c b/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c index 827c3e6286..a6443fb656 100644 --- a/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c @@ -400,7 +400,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -448,7 +449,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES_NO, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_bgk_im_cross_relax_1x2v_p1.c b/gyrokinetic/creg/rt_gk_bgk_im_cross_relax_1x2v_p1.c index 57c2de256c..6555a35f5b 100644 --- a/gyrokinetic/creg/rt_gk_bgk_im_cross_relax_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_bgk_im_cross_relax_1x2v_p1.c @@ -400,7 +400,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -449,7 +450,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_lapd_cart_3x2v_p1.c b/gyrokinetic/creg/rt_gk_lapd_cart_3x2v_p1.c index 23579385ae..0ad200f91e 100644 --- a/gyrokinetic/creg/rt_gk_lapd_cart_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_lapd_cart_3x2v_p1.c @@ -436,7 +436,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -494,7 +495,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_lbo_cross_relax_1x2v_p1.c b/gyrokinetic/creg/rt_gk_lbo_cross_relax_1x2v_p1.c index b6f9354149..f14bfb465d 100644 --- a/gyrokinetic/creg/rt_gk_lbo_cross_relax_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_lbo_cross_relax_1x2v_p1.c @@ -393,7 +393,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -434,7 +435,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_mdpx_cart_3x2v_p1.c b/gyrokinetic/creg/rt_gk_mdpx_cart_3x2v_p1.c index e5e06211cc..e406a54518 100644 --- a/gyrokinetic/creg/rt_gk_mdpx_cart_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_mdpx_cart_3x2v_p1.c @@ -350,7 +350,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -423,7 +424,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_multib_asdex_2x2v_p1.c b/gyrokinetic/creg/rt_gk_multib_asdex_2x2v_p1.c index 4f40060622..cf676db43b 100644 --- a/gyrokinetic/creg/rt_gk_multib_asdex_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_multib_asdex_2x2v_p1.c @@ -1233,7 +1233,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -1367,7 +1368,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_multib_slab_2x2v_p1.c b/gyrokinetic/creg/rt_gk_multib_slab_2x2v_p1.c index 669714fdf7..87b48104dc 100644 --- a/gyrokinetic/creg/rt_gk_multib_slab_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_multib_slab_2x2v_p1.c @@ -543,7 +543,8 @@ main(int argc, char **argv) .cells = { cells_v[0], cells_v[1] }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -631,7 +632,8 @@ main(int argc, char **argv) .cells = { cells_v[0], cells_v[1] }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_multib_step_2x2v_p1.c b/gyrokinetic/creg/rt_gk_multib_step_2x2v_p1.c index d88d1d56a5..36c1a2da81 100644 --- a/gyrokinetic/creg/rt_gk_multib_step_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_multib_step_2x2v_p1.c @@ -1278,7 +1278,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -1626,7 +1627,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_multib_step_sol_1x2v_p1.c b/gyrokinetic/creg/rt_gk_multib_step_sol_1x2v_p1.c index 3d2e16e335..99855e6ec5 100644 --- a/gyrokinetic/creg/rt_gk_multib_step_sol_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_multib_step_sol_1x2v_p1.c @@ -513,7 +513,8 @@ main(int argc, char **argv) .cells = { cells_v[0], cells_v[1] }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -588,7 +589,8 @@ main(int argc, char **argv) .cells = { cells_v[0], cells_v[1] }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_multib_step_sol_2x2v_p1.c b/gyrokinetic/creg/rt_gk_multib_step_sol_2x2v_p1.c index d1261ce2aa..5fa23521e0 100644 --- a/gyrokinetic/creg/rt_gk_multib_step_sol_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_multib_step_sol_2x2v_p1.c @@ -537,7 +537,8 @@ main(int argc, char **argv) .cells = { cells_v[0], cells_v[1] }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -640,7 +641,8 @@ main(int argc, char **argv) .cells = { cells_v[0], cells_v[1] }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_sheath_cx_2x2v_p1.c b/gyrokinetic/creg/rt_gk_sheath_cx_2x2v_p1.c index 2aa140d8da..f9b5e30ce8 100644 --- a/gyrokinetic/creg/rt_gk_sheath_cx_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_sheath_cx_2x2v_p1.c @@ -514,7 +514,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -570,7 +571,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_sheath_flr_2x2v_p1.c b/gyrokinetic/creg/rt_gk_sheath_flr_2x2v_p1.c index 53d758d0ec..cdcf63ce11 100644 --- a/gyrokinetic/creg/rt_gk_sheath_flr_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_sheath_flr_2x2v_p1.c @@ -512,7 +512,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -573,7 +574,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_sheath_nonuniformx_2x2v_p1.c b/gyrokinetic/creg/rt_gk_sheath_nonuniformx_2x2v_p1.c index ca9043d1f5..d94c496f92 100644 --- a/gyrokinetic/creg/rt_gk_sheath_nonuniformx_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_sheath_nonuniformx_2x2v_p1.c @@ -628,7 +628,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -685,7 +686,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c b/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c index 2124f223f8..0dd76b882e 100644 --- a/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c @@ -392,7 +392,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -459,7 +460,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_step_2x2v_p1_cons.c b/gyrokinetic/creg/rt_gk_step_2x2v_p1_cons.c index 975aad39e6..1342424db6 100644 --- a/gyrokinetic/creg/rt_gk_step_2x2v_p1_cons.c +++ b/gyrokinetic/creg/rt_gk_step_2x2v_p1_cons.c @@ -398,7 +398,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -507,7 +508,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { diff --git a/gyrokinetic/creg/rt_gk_step_out_2x2v_p1.c b/gyrokinetic/creg/rt_gk_step_out_2x2v_p1.c index 575401b5e6..7d6d4cb930 100644 --- a/gyrokinetic/creg/rt_gk_step_out_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_step_out_2x2v_p1.c @@ -396,7 +396,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { @@ -479,7 +480,8 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .collisions = { From 6edf384c063e873728cbb9dd199a0d5c6780b2ee Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Oct 2025 14:50:37 -0400 Subject: [PATCH 017/181] reduction of t_end of this rt to make it much faster to run (4sec against 40sec). --- gyrokinetic/creg/rt_gk_slab_2x2v_p1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c b/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c index 0dd76b882e..b44cd0a489 100644 --- a/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_slab_2x2v_p1.c @@ -124,7 +124,7 @@ create_ctx(void) double vpar_max_ion = 6.0 * vti; // Domain boundary (ion velocity space: parallel velocity direction). double mu_max_ion = (3.0 / 2.0) * 0.5 * mass_ion * pow(4.0 * vti,2) / (2.0 * B0); // Domain boundary (ion velocity space: magnetic moment direction). - double t_end = 5.0e-6; // Final simulation time. + double t_end = 0.5e-6; // Final simulation time. int num_frames = 1; // Number of output frames. double write_phase_freq = 0.2; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). int int_diag_calc_num = num_frames*100; From c955dc8972047944100f60a6f2703011dd857844 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 21 Oct 2025 13:34:09 -0400 Subject: [PATCH 018/181] dummy commit to connect with DR #867 --- gyrokinetic/apps/gk_field.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index ba310185c6..508093d48b 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -135,9 +135,7 @@ gk_field_accumulate_current_dens_dyn(gkyl_gyrokinetic_app *app, struct gk_field gkyl_array_clear(field->currentDens, 0.0); for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; - gk_species_moment_calc(&s->m1, s->local, app->local, fin[i]); - gkyl_array_accumulate_range(field->currentDens, s->info.charge, s->m1.marr, &app->local); } app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); From cae1c9bc5e8f7a84f02baf56f2d3aa283c7f8b0f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 23 Oct 2025 16:53:17 -0400 Subject: [PATCH 019/181] add smoothing of apardot add also gyro_apardot (to pass it to the species struct, I don't think we will add FLR to EM soon). We also add an option to the gkyl_dg_gyrokinetic updater to get an EM adder only or ES. And also add many empty kernels for the code to compile and checking the workflow. This branch is related to the gkylcas branch https://github.com/ammarhakim/gkylcas/pull/89 --- gyrokinetic/apps/gk_field.c | 5 ++ gyrokinetic/apps/gk_species.c | 28 +++++------ gyrokinetic/apps/gk_species_collisionless.c | 47 ++++++++++++++++++- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 26 +++++++++- gyrokinetic/apps/gyrokinetic.c | 4 +- gyrokinetic/zero/dg_gyrokinetic.c | 2 +- gyrokinetic/zero/dg_updater_gyrokinetic.c | 4 +- gyrokinetic/zero/gk_collisionless_flux.c | 13 ++++- gyrokinetic/zero/gkyl_dg_gyrokinetic.h | 3 +- .../zero/gkyl_dg_updater_gyrokinetic.h | 3 +- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 17 +++---- 11 files changed, 116 insertions(+), 36 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 508093d48b..c15d7f46f8 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -585,6 +585,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_old = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apardot_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_host = f->apar; f->apardot_host = f->apardot; @@ -937,6 +938,9 @@ gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_a struct timespec wst = gkyl_wall_clock(); field->accumulate_current_dot(app, field, rhs_in); field->ohm_solve(app, field); + + gk_field_fem_projection_par(app, field, field->apardot_smooth, field->apardot_smooth); + app->stat.field_tm += gkyl_time_diff_now_sec(wst); } @@ -1078,6 +1082,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->apar); gkyl_array_release(f->apar_old); gkyl_array_release(f->apardot); + gkyl_array_release(f->apardot_smooth); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index ce8d100dac..7ed12921f5 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -176,25 +176,11 @@ gk_species_em_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, { struct timespec wst = gkyl_wall_clock(); - // We want here to just add the EM contribution to the collisionless update. - // We do not clear the cflrate or rhs. - // 1. compute the gk vars from EM fields - // something like: - // gkyl_dg_calc_gyrokinetic_vars_alpha_surf_em(species->calc_gk_vars, - // &app->local, &species->local, &species->local_ext, - // app->field->apardot, species->alpha_surf, species->sgn_alpha_surf, species->const_sgn_alpha); - - // 2. add this contribution to the rhs - // If I understood correctly, the step 1. will set the variables required in step 2. so I can just - // call the same updater as in the collisionless electrostatic case. - // I think I can assume that this will add to rhs and cflrate and not overwrite them. - // gkyl_dg_updater_gyrokinetic_advance(species->slvr, &species->local, - // fin, species->cflrate, rhs); + gk_species_collisionless_add_em_rhs(app, species, &species->collisionless, fin, rhs); app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); - // 3. Update the bflux and its moments and compute cflrate as usual - // (this is the same as in the electrostatic case) + // Update the bflux and its moments and compute cflrate as usual double dt_out = gk_species_update_bflux_and_cfl(app, species, fin, rhs, bflux_moms); return dt_out; } @@ -1623,6 +1609,12 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->gyro_phi = gkyl_array_acquire(app->field->phi_smooth); } + gks->is_em = app->field->is_em; + if (gks->is_em) { + // We do not have FLR effects for EM yet. + gks->gyro_apardot = gkyl_array_acquire(app->field->apardot_smooth); + } + // Initialize the collisionless solver. gks->collisionless = (struct gk_collisionless) { }; gk_species_collisionless_init(app, gks, &gks->collisionless); @@ -1995,5 +1987,9 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) gkyl_deflated_fem_poisson_release(s->flr_op); } + if (s->is_em) { + gkyl_array_release(s->gyro_apardot); + } + s->release_func(app, s); } diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 7eebd357e1..483dc94334 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -23,6 +23,15 @@ gk_species_collisionless_flux_enabled(gkyl_gyrokinetic_app *app, struct gk_speci species->gyro_phi, fin, gkcls->flux_surf, species->cflrate); } +static void +gk_species_collisionless_add_em_flux_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin) +{ + gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_op_add_em, + &app->local, &species->local, &app->local_ext, &species->local_ext, + species->gyro_apardot, fin, gkcls->flux_surf, species->cflrate); +} + static void gk_species_collisionless_rhs_disabled(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) @@ -43,6 +52,20 @@ gk_species_collisionless_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_specie app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); } +static void +gk_species_collisionless_add_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) +{ + struct timespec wst = gkyl_wall_clock(); + + gkcls->add_em_flux(app, species, gkcls, fin); + + gkyl_dg_updater_gyrokinetic_advance(gkcls->slvr_add_em, &species->local, + fin, species->cflrate, rhs); + + app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); +} + static void gk_species_collisionless_write_diags_disabled(gkyl_gyrokinetic_app* app, struct gk_species *gks, struct gk_collisionless *gkcls, double tm, int frame) @@ -70,6 +93,8 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; gkcls->flux_func = gk_species_collisionless_flux_disabled; gkcls->rhs_func = gk_species_collisionless_rhs_disabled; + gkcls->add_em_flux = gk_species_collisionless_flux_disabled; + gkcls->add_em_rhs = gk_species_collisionless_rhs_disabled; if (gkcls->collisionless_id) { @@ -124,7 +149,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie } gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->no_by, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->no_by, false, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, @@ -132,12 +157,16 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Create solver. gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->no_by, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->no_by, false, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); // Methods chosen at runtime. gkcls->flux_func = gk_species_collisionless_flux_enabled; gkcls->rhs_func = gk_species_collisionless_rhs_enabled; + if (gkcls->is_em) { + gkcls->add_em_flux = gk_species_collisionless_add_em_flux_enabled; + gkcls->add_em_rhs = gk_species_collisionless_add_em_rhs_enabled; + } if (gkcls->write_diagnostics) { gkcls->write_diags_func = gk_species_collisionless_write_diags_enabled; } @@ -158,6 +187,20 @@ gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *speci gkcls->rhs_func(app, species, gkcls, fin, rhs); } +void +gk_species_collisionless_add_em_flux(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin) +{ + gkcls->add_em_flux(app, species, gkcls, fin); +} + +void +gk_species_collisionless_add_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) +{ + gkcls->add_em_rhs(app, species, gkcls, fin, rhs); +} + void gk_species_collisionless_write_diags(gkyl_gyrokinetic_app* app, struct gk_species *gks, struct gk_collisionless *gkcls, double tm, int frame) diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 024b0fe5b4..a109ab3386 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -224,12 +224,19 @@ struct gk_collisionless { struct gkyl_gk_collisionless_flux *surf_flux_op; // Collisionless fluxes. gkyl_dg_updater_gyrokinetic *slvr; // Collisionless solver. - + + struct gkyl_gk_collisionless_flux *surf_flux_op_add_em; // To add EM collisionless fluxes. + gkyl_dg_updater_gyrokinetic *slvr_add_em; // To add EM collisionless rhs. + // Methods chosen at runtime. void (*flux_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin); void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); + void (*add_em_flux)(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin); + void (*add_em_rhs)(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); void (*write_diags_func)(gkyl_gyrokinetic_app* app, struct gk_species *gks, struct gk_collisionless *gkcls, double tm, int frame); }; @@ -708,6 +715,8 @@ struct gk_species { struct gkyl_array *f_host; // Host copy for IO and initialization. struct gkyl_array *gyro_phi; // Gyroaveraged electrostatic potential. + struct gkyl_array *gyro_apardot; // Gyroaveraged parallel vector potential time derivative. + bool is_em; // Whether electromagnetic terms are present. struct gk_species_moment m0; // Computes charge density. struct gk_species_moment m1; // Computes current density. @@ -1007,6 +1016,7 @@ struct gk_field { struct gkyl_array *apar_old; // Previous state of A_parallel (for update with apardot). struct gkyl_array *apar_host; // Host copy for use IO. struct gkyl_array *apardot; // Array for d(A_parallel)/dt (solved through Ohm's law). + struct gkyl_array *apardot_smooth; // Smoothed d(A_parallel)/dt. struct gkyl_array *apardot_host; // Host copy for use IO. struct gkyl_array *currentDens; // Current density. struct gkyl_array *currentDens_global; // Current density. @@ -1362,6 +1372,18 @@ void gk_species_collisionless_flux(gkyl_gyrokinetic_app *app, struct gk_species void gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); +/** + * @brief Add electromagnetic contribution to the collisionless RHS. + * + * @param app Gyrokinetic app object. + * @param gks Pointer to species. + * @param gkcls Species collisionless object. + * @param fin Input distribution function. + * @param rhs On output, the RHS from collisionless terms including EM contribution. + */ +void gk_species_collisionless_add_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *gks, + struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); + /** * Write out diagnostics from the collisionless terms. * @@ -3240,7 +3262,7 @@ void gk_field_step_apar(struct gk_field *field, struct gkyl_array* out, double d void gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field); /** - * Compute Apardot from fin m1 moment using the Ohm's law. + * Compute Apardot from Ohm's law using the m1 moment of the GK electrostatic RHS. * * @param app gyrokinetic app object. * @param field Pointer to field. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 2b0c256d22..fb5d188ef9 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1812,17 +1812,17 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, &app->neut_species[i].src, fin_neut[i], fout_neut[i]); } - // Compute the electromagnetic field RHS (solves Ohm's law using RHS). + // Compute the electromagnetic field RHS (solves Ohm's law using the full ES RHS). gk_field_em_rhs(app, app->field, fout); // Add electromagnetic contributions to the collisionless update of charged species. + // This is done after all ES terms since we need to compute M1 of fdot. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; double dt1 = gk_species_em_rhs(app, s, fin[i], fout[i], bflux_out[i]); dtmin = fmin(dtmin, dt1); } - struct timespec wtm = gkyl_wall_clock(); double dt_max_rel_diff = 0.01; // Check if dtmin is slightly smaller than dt. Use dt if it is diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 40fe241260..5d8aac4631 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -46,7 +46,7 @@ gkyl_gyrokinetic_set_auxfields(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_gyr struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_cell_threshold, const bool no_by, + const double charge, const double mass, double skip_cell_threshold, const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { #ifdef GKYL_HAVE_CUDA diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index 98724d5c10..ecf3b34003 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -20,7 +20,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - const bool no_by, const struct gk_geometry *gk_geom, + const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu) { struct gkyl_dg_updater_gyrokinetic *up = gkyl_malloc(sizeof(struct gkyl_dg_updater_gyrokinetic)); @@ -28,7 +28,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, up->use_gpu = use_gpu; up->eqn_gyrokinetic = gkyl_dg_gyrokinetic_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, no_by, gk_geom, vel_map, up->use_gpu); + charge, mass, skip_cell_threshold, no_by, add_em, gk_geom, vel_map, up->use_gpu); struct gkyl_dg_gyrokinetic_auxfields *gk_inp = aux_inp; gkyl_gyrokinetic_set_auxfields(up->eqn_gyrokinetic, *gk_inp); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index f07c78a61a..f0de89b26b 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -12,7 +12,7 @@ gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, const bool no_by, + const double charge, const double mass, const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu) @@ -35,6 +35,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->charge = charge; up->mass = mass; + up->add_em = add_em; up->gk_geom = gkyl_gk_geometry_acquire(gk_geom); up->dg_geom = gkyl_dg_geom_acquire(dg_geom); up->gk_dg_geom = gkyl_gk_dg_geom_acquire(gk_dg_geom); @@ -50,6 +51,16 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + } else if (add_em) { + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_add_em_flux_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_add_em_edge_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_add_em_vpar_kern(cdim, vdim, poly_order); } else { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h index 650accf811..4699b69acf 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h @@ -28,6 +28,7 @@ struct gkyl_dg_gyrokinetic_auxfields { * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param no_by Whether to neglect the toroidal field (b_y=0) + * @param add_em Whether the updater only adds EM terms. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param use_gpu Boolean to determine if gyrokinetic equation object is on device @@ -36,7 +37,7 @@ struct gkyl_dg_gyrokinetic_auxfields { struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - const bool no_by, const struct gk_geometry *gk_geom, + const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu); /** diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h index 722919a2fd..6a3168695f 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h @@ -30,6 +30,7 @@ struct gkyl_dg_updater_gyrokinetic_tm { * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param no_by Whether to neglect the toroidal field (b_y=0) + * @param add_em Whether to add electromagnetic terms * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param aux_inp Void pointer to auxiliary fields. Void to be flexible to different auxfields structs @@ -40,7 +41,7 @@ gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_r const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - const bool no_by, const struct gk_geometry *gk_geom, + const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); /** diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index 76380470f9..47fdbb6918 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -17,23 +17,24 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; * Create new updater to compute the surface expansion of phase space * flux due to the collisionless gyrokinetic terms. * - * @param phase_grid Phase space grid (for getting cell spacing and cell center) - * @param conf_basis Configuration space basis functions - * @param phase_basis Phase space basis functions - * @param charge Species charge - * @param mass Species mass - * @param no_by Whether to neglect the toroidal field (b_y=0) + * @param phase_grid Phase space grid (for getting cell spacing and cell center). + * @param conf_basis Configuration space basis functions. + * @param phase_basis Phase space basis functions. + * @param charge Species charge. + * @param mass Species mass. + * @param no_by Whether to neglect the toroidal field (b_y=0). + * @param add_em Whether this updater is meant to add EM terms only. * @param gk_geom Gyrokinetic geometry object. * @param gk_dg_geom DG geometry object. * @param vel_map Velocity space mapping object. * @param bctype_conf Type of conf-space BCs. - * @param use_gpu bool to determine if on GPU + * @param use_gpu Whether to use GPU. * @return New updater pointer. */ struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, const bool no_by, + const double charge, const double mass, const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); From b469f26ed05d0a9de6721aaaf617ae96789b3415 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 23 Oct 2025 16:53:37 -0400 Subject: [PATCH 020/181] add all the empty kernels. --- .../gkyl_dg_gyrokinetic_kernels.h | 222 ++++++ ...nless_flux_add_em_edge_surfx_1x1v_ser_p1.c | 26 + ...nless_flux_add_em_edge_surfx_1x2v_ser_p1.c | 26 + ...nless_flux_add_em_edge_surfx_2x2v_ser_p1.c | 26 + ...nless_flux_add_em_edge_surfx_3x2v_ser_p1.c | 26 + ...nless_flux_add_em_edge_surfy_2x2v_ser_p1.c | 26 + ...nless_flux_add_em_edge_surfy_3x2v_ser_p1.c | 26 + ...nless_flux_add_em_edge_surfz_3x2v_ser_p1.c | 26 + ...m_multib_boundary_edge_surfx_1x1v_ser_p1.c | 26 + ...m_multib_boundary_edge_surfx_1x2v_ser_p1.c | 26 + ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 26 + ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 26 + ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 26 + ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 26 + ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 26 + ...add_em_multib_boundary_surfx_1x1v_ser_p1.c | 26 + ...add_em_multib_boundary_surfx_1x2v_ser_p1.c | 26 + ...add_em_multib_boundary_surfx_2x2v_ser_p1.c | 26 + ...add_em_multib_boundary_surfx_3x2v_ser_p1.c | 26 + ...add_em_multib_boundary_surfy_2x2v_ser_p1.c | 26 + ...add_em_multib_boundary_surfy_3x2v_ser_p1.c | 26 + ...add_em_multib_boundary_surfz_3x2v_ser_p1.c | 26 + ...flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c | 26 + ...flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c | 26 + ...flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c | 26 + ...flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c | 26 + ...flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c | 26 + ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 26 + ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 26 + ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 26 + ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 26 + ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 26 + ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 26 + ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 26 + ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 26 + ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 26 + ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 26 + ...s_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c | 26 + ...s_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c | 26 + ...less_flux_add_em_no_by_surfx_2x2v_ser_p1.c | 26 + ...less_flux_add_em_no_by_surfx_3x2v_ser_p1.c | 26 + ...less_flux_add_em_no_by_surfy_2x2v_ser_p1.c | 26 + ...less_flux_add_em_no_by_surfy_3x2v_ser_p1.c | 26 + ...less_flux_add_em_no_by_surfz_3x2v_ser_p1.c | 26 + ...ionless_flux_add_em_surfvpar_1x1v_ser_p1.c | 26 + ...ionless_flux_add_em_surfvpar_1x2v_ser_p1.c | 26 + ...ionless_flux_add_em_surfvpar_2x2v_ser_p1.c | 26 + ...ionless_flux_add_em_surfvpar_3x2v_ser_p1.c | 26 + ...lisionless_flux_add_em_surfx_1x1v_ser_p1.c | 26 + ...lisionless_flux_add_em_surfx_1x2v_ser_p1.c | 26 + ...lisionless_flux_add_em_surfx_2x2v_ser_p1.c | 26 + ...lisionless_flux_add_em_surfx_3x2v_ser_p1.c | 26 + ...lisionless_flux_add_em_surfy_2x2v_ser_p1.c | 26 + ...lisionless_flux_add_em_surfy_3x2v_ser_p1.c | 26 + ...lisionless_flux_add_em_surfz_3x2v_ser_p1.c | 26 + .../gkyl_gk_collisionless_flux_kernels.h | 654 ++++++++++++++++++ gyrokinetic/zero/gk_collisionless_flux.c | 4 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 232 +++++++ .../zero/gkyl_gk_collisionless_flux_priv.h | 186 ++++- 59 files changed, 2699 insertions(+), 3 deletions(-) create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c diff --git a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h index 61117ef1c3..0bbbaf61e6 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h +++ b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h @@ -229,4 +229,226 @@ GKYL_CU_DH double dg_gyrokinetic_boundary_surfvpar_3x2v_ser_p1(const double *w, const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); + +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x1v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x1v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x1v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); + +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); + +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x2v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); + +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfy_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfy_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); + +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfy_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfy_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); + +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfy_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfy_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfz_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfz_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out); + + EXTERN_C_END diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..02aed87ff6 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..985bf5ff5b --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..58032fe55a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..366399870d --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..9ee1465433 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..0d7b7b5a25 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..fb4e3657d6 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..a1e3efe0f1 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..22417fa638 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..085ae07617 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..2edce2b85a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..d3be656a7e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..ba50f2ddbe --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..f456e80f01 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..4fe40b27ef --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..1d32b32127 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..461dac1bf7 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..11ea44c05a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..08d186e133 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..856155d7b3 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..8f3f6f1ea1 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..dc927940a8 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..47f50f2516 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..a87c9b3ef1 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..686d3fae37 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..bf8b075f11 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..2b39f7d630 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..2cf8ffecdd --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..5837b618aa --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..16282609e6 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..35655d48b5 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..f39f17c36a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..e3046b01f8 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..77014e76cc --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..4e4fb4bb6e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..6a56f51740 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..3977e7acc0 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..0b5dbee65d --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..414ef9f8d4 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..89aad8d3fe --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..f8b28d3d49 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..9504159d0d --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..d0cde6b276 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c new file mode 100644 index 0000000000..9897d3b63f --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c new file mode 100644 index 0000000000..0f82c703ea --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..62c373ef5d --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..7a22e7c4be --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..1fccf45fb9 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..7b7ec7808a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..6984c52216 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..d701443e15 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..70ca233a21 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..60fc96ea32 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..0ec404bc74 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c @@ -0,0 +1,26 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_em_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + return 0.; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index 364f4f88b5..5b20c9ed63 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -661,4 +661,658 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + + EXTERN_C_END diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index f0de89b26b..a96b7533fc 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -55,12 +55,12 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. up->flux_surf[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_add_em_flux_surf_conf_kern(d, cdim, vdim, + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[d]); up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_add_em_edge_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_add_em_vpar_kern(cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_em_surf_vpar_kern(cdim, vdim, poly_order); } else { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 2a1083be5f..d8cae748f0 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -359,6 +359,238 @@ static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_vpar_ { NULL, dg_gyrokinetic_boundary_surfvpar_3x2v_ser_p1, NULL }, // 3 }; +// +// Serendipity volume kernels general geometry for adding EM terms. +// Need to be separated like this for GPU build. +// + +GKYL_CU_DH +static double +kernel_dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, + const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) +{ + + struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); + + if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { + return 0.; + } + + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; + + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); + long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); + return dg_gyrokinetic_add_em_vol_1x1v_ser_p1(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + qIn, qRhsOut); +} + +GKYL_CU_DH +static double +kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, + const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) +{ + struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); + + if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { + return 0.; + } + + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; + + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); + long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); + return dg_gyrokinetic_add_em_vol_1x2v_ser_p1(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + qIn, qRhsOut); +} + +GKYL_CU_DH +static double +kernel_dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, + const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) +{ + struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); + + if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { + return 0.; + } + + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; + + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); + long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); + return dg_gyrokinetic_add_em_vol_2x2v_ser_p1(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + qIn, qRhsOut); +} + +GKYL_CU_DH +static double +kernel_dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, + const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) +{ + struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); + + if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { + return 0.; + } + + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; + + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); + long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); + return dg_gyrokinetic_add_em_vol_3x2v_ser_p1(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + qIn, qRhsOut); +} + +// Volume kernel list. +GKYL_CU_D +static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_em_vol_kernels[] = { + // 1x kernels + { NULL, kernel_dg_gyrokinetic_add_em_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1, NULL }, // 1 + // 2x kernels + { NULL, kernel_dg_gyrokinetic_add_em_vol_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, kernel_dg_gyrokinetic_add_em_vol_3x2v_ser_p1, NULL }, // 3 +}; + +// Kernel list that add EM terms. +// Surface kernel list: x-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_x_kernels[] = { + // 1x kernels + { NULL, dg_gyrokinetic_add_em_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_add_em_surfx_1x2v_ser_p1, NULL }, // 1 + // 2x kernels + { NULL, dg_gyrokinetic_add_em_surfx_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Surface kernel list: y-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_y_kernels[] = { + // 1x kernels + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + // 2x kernels + { NULL, dg_gyrokinetic_add_em_surfy_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Surface kernel list: z-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_z_kernels[] = { + // 1x kernels + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + // 2x kernels + { NULL, NULL, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Acceleration surface kernel list: vpar-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_vpar_kernels[] = { + // 1x kernels + { NULL, dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + // 2x kernels + { NULL, dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1, NULL }, // 3 +}; + +// Boundary surface kernel (zero-flux BCs) to add EM terms. +// Conf-space advection boundary surface kernel list: x-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_x_kernels[] = { + // 1x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_add_em_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + // 2x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Conf-space advection boundary surface kernel list: y-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_y_kernels[] = { + // 1x kernels + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + // 2x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Conf-space advection boundary surface kernel list: z-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_z_kernels[] = { + // 1x kernels + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + // 2x kernels + { NULL, NULL, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Acceleration boundary surface kernel (zero-flux BCs) list: vpar-direction +GKYL_CU_D +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_vpar_kernels[] = { + // 1x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1, NULL }, // 1 + // 2x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1, NULL }, // 3 +}; + // "Choose Kernel" based on cdim, vdim and polyorder #define CK(lst,cdim,vd,poly_order) lst[cv_index[cdim].vdim[vd]].kernels[poly_order] diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 29ba71a250..9ebca86cd7 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -47,6 +47,7 @@ struct gkyl_gk_collisionless_flux { // at upper configuration space edge gk_collisionless_flux_surfvpar_t flux_surfvpar[1]; // kernel for computing surface expansion of phase space flux alpha double charge, mass; + bool add_em; // wheter it is meant to only add electromagnetic terms. const struct gk_geometry *gk_geom; // Pointer to geometry struct. const struct gkyl_dg_geom *dg_geom; // Pointer to vol dg geometry struct. const struct gkyl_gk_dg_geom *gk_dg_geom; // Pointer to vol gk dg geometry struct. @@ -57,7 +58,7 @@ struct gkyl_gk_collisionless_flux { }; // -// Serendipity surface kernels. +// Electrostatic serendipity surface kernels. // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D @@ -305,6 +306,130 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; +// +// Serendipity surface kernels to add electromagnetic effects. +// +// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_add_em_surfvpar_kernels[] = { + { NULL, gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1, NULL }, // 3 +}; + +// +// Kernels used at multiblock boundaries. +// + +// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 +}; + GKYL_CU_D static gk_collisionless_flux_surf_t @@ -424,6 +549,65 @@ choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_o return ser_gk_collisionless_flux_no_by_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_add_em_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_add_em_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surfvpar_t +choose_gk_collisionless_flux_add_em_surf_vpar_kern(int cdim, int vdim, int poly_order) +{ + return ser_gk_collisionless_flux_add_em_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; +} + #ifdef GKYL_HAVE_CUDA /** * Create new updater to compute gyrokinetic variables on From 8631c32e51adbf0de995dede0346223cd03ebef4 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 23 Oct 2025 17:15:41 -0400 Subject: [PATCH 021/181] =?UTF-8?q?I=20think=20we=20have=20every=20declara?= =?UTF-8?q?tion=20of=20every=20add=5Fem=20+=20no=5Fby=20now=20=F0=9F=A4=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gyrokinetic/zero/gk_collisionless_flux.c | 66 ++++--- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 75 +++++++ .../zero/gkyl_gk_collisionless_flux_priv.h | 184 ++++++++++++++++++ 3 files changed, 299 insertions(+), 26 deletions(-) diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index a96b7533fc..a3183db174 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -42,35 +42,49 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->vel_map = gkyl_velocity_map_acquire(vel_map); if (no_by) { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); - } else if (add_em) { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_add_em_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + if (add_em) { + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_add_em_no_by_edge_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_em_no_by_surf_vpar_kern(cdim, vdim, poly_order); + } else { + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_em_surf_vpar_kern(cdim, vdim, poly_order); } else { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + if (add_em) { + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_add_em_edge_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_em_surf_vpar_kern(cdim, vdim, poly_order); + } else { + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); } up->flags = 0; diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index d8cae748f0..799848105a 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -493,6 +493,81 @@ static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_em_vol_kernels[] = { { NULL, kernel_dg_gyrokinetic_add_em_vol_3x2v_ser_p1, NULL }, // 3 }; +// +// Serendipity volume kernels to add EM, no toroidal field (by=0) +// Need to be separated like this for GPU build +// + +GKYL_CU_DH +static double +kernel_dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, + const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) +{ + struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); + + if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { + return 0.; + } + + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; + + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); + long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); + return dg_gyrokinetic_no_by_vol_2x2v_ser_p1(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + qIn, qRhsOut); +} + +GKYL_CU_DH +static double +kernel_dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, + const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) +{ + struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); + + if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { + return 0.; + } + + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; + + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); + long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); + return dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + qIn, qRhsOut); +} + +// Volume kernel list. +GKYL_CU_D +static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_em_no_by_vol_kernels[] = { + // 1x kernels + { NULL, kernel_dg_gyrokinetic_add_em_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1, NULL }, // 1 + // 2x kernels + { NULL, kernel_dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1, NULL }, // 2 + // 3x kernels + { NULL, kernel_dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1, NULL }, // 3 +}; + // Kernel list that add EM terms. // Surface kernel list: x-direction GKYL_CU_D diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 9ebca86cd7..3fddffa4a3 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -430,6 +430,130 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; +// +// Serendipity surface kernels without toroidal field (by=0) +// +// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_add_em_no_by_surfvpar_kernels[] = { + { NULL, gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 +}; + +// +// Kernels used at multiblock boundaries. +// + +// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 +}; + +// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) +GKYL_CU_D +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 +}; + GKYL_CU_D static gk_collisionless_flux_surf_t @@ -608,6 +732,66 @@ choose_gk_collisionless_flux_add_em_surf_vpar_kern(int cdim, int vdim, int poly_ return ser_gk_collisionless_flux_add_em_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } + +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_no_by_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_no_by_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_no_by_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_add_em_no_by_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_add_em_no_by_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_add_em_no_by_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_add_em_no_by_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surfvpar_t +choose_gk_collisionless_flux_add_em_no_by_surf_vpar_kern(int cdim, int vdim, int poly_order) +{ + return ser_gk_collisionless_flux_add_em_no_by_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; +} + #ifdef GKYL_HAVE_CUDA /** * Create new updater to compute gyrokinetic variables on From 06a2b8880ad315c29742a16ef10ea56e928920f8 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 24 Oct 2025 14:14:13 -0400 Subject: [PATCH 022/181] reorganize how the kernel are declared, first all the electrostatic stuff, then all the EM. --- .../zero/gkyl_gk_collisionless_flux_priv.h | 266 +++++++++--------- 1 file changed, 133 insertions(+), 133 deletions(-) diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 3fddffa4a3..bc01805ce9 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -306,8 +306,127 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surfvpar_t +choose_gk_collisionless_flux_surf_vpar_kern(int cdim, int vdim, int poly_order) +{ + return ser_gk_collisionless_flux_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; +} + +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_no_by_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_no_by_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_no_by_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_no_by_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surf_t +choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +{ + if (bc == GKYL_BC_GK_SKIP) { + if (dir == 0) + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } + else { + if (dir == 0) + return ser_gk_collisionless_flux_no_by_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 1) + return ser_gk_collisionless_flux_no_by_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else if (dir == 2) + return ser_gk_collisionless_flux_no_by_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + else + return NULL; + } +} + +GKYL_CU_D +static gk_collisionless_flux_surfvpar_t +choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_order) +{ + return ser_gk_collisionless_flux_no_by_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; +} + + // -// Serendipity surface kernels to add electromagnetic effects. +// Electromagnetic serendipity surface kernels. // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D @@ -327,7 +446,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) +// Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfy_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -336,7 +455,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_surfy_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) +// Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfy_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -345,7 +464,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) +// Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfz_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -354,7 +473,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_surfz_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) +// Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfz_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -394,7 +513,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) +// Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfy_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -403,7 +522,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) +// Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfy_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -412,7 +531,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) +// Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfz_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -421,7 +540,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) +// Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfz_kernels[] = { { NULL, NULL, NULL }, // 0 @@ -430,6 +549,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; + // // Serendipity surface kernels without toroidal field (by=0) // @@ -554,125 +674,6 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; - -GKYL_CU_D -static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) -{ - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } -} - -GKYL_CU_D -static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) -{ - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } -} - -GKYL_CU_D -static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_surf_vpar_kern(int cdim, int vdim, int poly_order) -{ - return ser_gk_collisionless_flux_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; -} - -GKYL_CU_D -static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_no_by_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) -{ - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_no_by_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_no_by_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_no_by_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } -} - -GKYL_CU_D -static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) -{ - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_no_by_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_no_by_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_no_by_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } -} - -GKYL_CU_D -static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_order) -{ - return ser_gk_collisionless_flux_no_by_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; -} - GKYL_CU_D static gk_collisionless_flux_surf_t choose_gk_collisionless_flux_add_em_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) @@ -680,9 +681,9 @@ choose_gk_collisionless_flux_add_em_surf_conf_kern(int dir, int cdim, int vdim, if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) return ser_gk_collisionless_flux_add_em_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) + else if (dir == 1) return ser_gk_collisionless_flux_add_em_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) + else if (dir == 2) return ser_gk_collisionless_flux_add_em_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; @@ -732,7 +733,6 @@ choose_gk_collisionless_flux_add_em_surf_vpar_kern(int cdim, int vdim, int poly_ return ser_gk_collisionless_flux_add_em_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } - GKYL_CU_D static gk_collisionless_flux_surf_t choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) @@ -740,9 +740,9 @@ choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(int dir, int cdim, int if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) + else if (dir == 1) return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) + else if (dir == 2) return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; From 66f0ff3d632452f369355fd17915a46b3b35dca1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 24 Oct 2025 15:47:31 -0400 Subject: [PATCH 023/181] the empty kernels to add EM are now connected to the GK updater. The code is able to run without apparent issue with EM option turned on. need to check how clean it is in valgrind. --- gyrokinetic/apps/gk_field.c | 45 +++++++++----- gyrokinetic/apps/gk_species.c | 4 +- gyrokinetic/apps/gk_species_collisionless.c | 61 ++++++++++++------- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 12 ++-- gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 2 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 21 ++++--- 6 files changed, 90 insertions(+), 55 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index c15d7f46f8..0c89959f59 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -250,14 +250,20 @@ gk_field_ampere_solve_none(gkyl_gyrokinetic_app *app, struct gk_field *field) } static void -gk_field_step_apar_dyn(struct gk_field *field, struct gkyl_array* out, double dt, +gk_field_step_apar_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp) { - gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); + gkyl_array_accumulate(out, dt, inp); + + // Update the smooth version of Apar (out). + gkyl_comm_array_allgather(app->comm, &app->local, &app->global, out, field->rho_c_global_dg); + gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); + gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); + gkyl_array_copy_range_to_range(field->apar_smooth, field->apar_fem, &app->local, &field->global_sub_range); } static void -gk_field_step_apar_none(struct gk_field *field, struct gkyl_array* out, double dt, +gk_field_step_apar_none(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp) { // do nothing @@ -584,8 +590,9 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) if (f->is_em) { f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_old = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); + f->apar_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apardot_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_host = f->apar; f->apardot_host = f->apardot; @@ -622,13 +629,14 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->ohm_solve = gk_field_ohm_solve_1x; f->ampere_solve = gk_field_ampere_solve_1x; - } - else if (app->cdim > 1) { + } else if (app->cdim > 1) { + // Compute the weights in front of the laplacian operator (metric x 1/mu0) struct gkyl_array *Jgij[3] = {app->gk_geom->geo_int.gxxj, app->gk_geom->geo_int.gxyj, app->gk_geom->geo_int.gyyj}; for (int i=0; icdim-2/app->cdim; i++) { gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); } + // Translate input file BCs into Ampere BCs. for (int d=0; dcdim-1; d++) { struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); @@ -645,12 +653,17 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->ampere_bcs.up_value[d].v[i] = bc_up->value[i]; } } + // FEM solver for Ampere equation (solved at IC only). f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, &f->ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); // FEM solver for Ohm's law (evolves d(Apart)/dt). f->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, &f->ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + // FEM smoother for Aparallel. + f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; + f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, + f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); f->ohm_solve = gk_field_ohm_solve; f->ampere_solve = gk_field_ampere_solve; @@ -658,9 +671,8 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->accumulate_current = gk_field_accumulate_current_dens_dyn; f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_dyn; f->step_apar = gk_field_step_apar_dyn; - + // Factor for EM energy. - f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); f->apar_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); f->apar_energy_fac_1d = 0; assert(f->info.mu0 > 0.0); @@ -671,6 +683,8 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) else if (app->cdim > 1) { gkyl_array_set(f->apar_energy_fac, -0.5, f->lapWeightAmpere); } + // Diagnostic for integrated Aparallel energy. + f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); } // Create operator needed for FLR effects. @@ -928,19 +942,17 @@ void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field) field->ampere_solve(app, field); } -void gk_field_step_apar (struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp) +void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp) { - field->step_apar(field, out, a, inp); + field->step_apar(app, field, out, a, inp); } void -gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]){ +gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]) +{ struct timespec wst = gkyl_wall_clock(); field->accumulate_current_dot(app, field, rhs_in); field->ohm_solve(app, field); - - gk_field_fem_projection_par(app, field, field->apardot_smooth, field->apardot_smooth); - app->stat.field_tm += gkyl_time_diff_now_sec(wst); } @@ -1081,8 +1093,9 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) if (f->is_em) { gkyl_array_release(f->apar); gkyl_array_release(f->apar_old); + gkyl_array_release(f->apar_fem); + gkyl_array_release(f->apar_smooth); gkyl_array_release(f->apardot); - gkyl_array_release(f->apardot_smooth); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); @@ -1097,9 +1110,9 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->currentDensdot_global); gkyl_array_release(f->dApartdtSlvr_lhs_factor); gkyl_array_release(f->dApartdtSlvr_lhs_factor_global); - gkyl_fem_parproj_release(f->fem_apar_parproj); gkyl_fem_parproj_release(f->fem_apardot_parproj); } + gkyl_fem_parproj_release(f->fem_apar_parproj); if (app->use_gpu) { gkyl_array_release(f->apar_host); gkyl_array_release(f->apardot_host); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 7ed12921f5..f5cbf73523 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1612,7 +1612,8 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->is_em = app->field->is_em; if (gks->is_em) { // We do not have FLR effects for EM yet. - gks->gyro_apardot = gkyl_array_acquire(app->field->apardot_smooth); + gks->gyro_apar = gkyl_array_acquire(app->field->apar_smooth); + gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); } // Initialize the collisionless solver. @@ -1988,6 +1989,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) } if (s->is_em) { + gkyl_array_release(s->gyro_apar); gkyl_array_release(s->gyro_apardot); } diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 483dc94334..1386995f8b 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -132,16 +132,6 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Allocate arrays to store surface phase space flux. gkcls->flux_surf = mkarr(app->use_gpu, flux_surf_sz, gks->local_ext.volume); - if (gkcls->is_em) { - // Parallel component of magnetic vector potential. - gkcls->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - gkcls->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - } - else { - gkcls->apar = gkyl_array_acquire(app->field->phi_smooth); // Not used. - gkcls->apardot = gkyl_array_acquire(app->field->phi_smooth); // Not used. - } - enum gkyl_gyrokinetic_bc_type bctype_conf[2*GKYL_MAX_CDIM]; for (int d=0; dcdim; d++) { bctype_conf[d] = gks->lower_bc[d].type; @@ -152,21 +142,44 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gks->info.charge, gks->info.mass, gkcls->no_by, false, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); + if (gkcls->is_em) { + } + struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, .phi = gks->gyro_phi, .apar = gkcls->apar, .apardot = gkcls->apardot }; - // Create solver. - gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, - &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->no_by, false, app->gk_geom, gks->vel_map, - &aux_inp, app->use_gpu); - - // Methods chosen at runtime. - gkcls->flux_func = gk_species_collisionless_flux_enabled; - gkcls->rhs_func = gk_species_collisionless_rhs_enabled; - if (gkcls->is_em) { - gkcls->add_em_flux = gk_species_collisionless_add_em_flux_enabled; - gkcls->add_em_rhs = gk_species_collisionless_add_em_rhs_enabled; + // Create solver. + gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, + gks->info.skip_cell_threshold, gkcls->no_by, false, app->gk_geom, gks->vel_map, + &aux_inp, app->use_gpu); + + // Methods chosen at runtime. + gkcls->flux_func = gk_species_collisionless_flux_enabled; + gkcls->rhs_func = gk_species_collisionless_rhs_enabled; + + // Electromagnetic additional setup + if (gkcls->is_em) { + + gkcls->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + gkcls->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + + // Create solvers to add EM contributions. + gkcls->surf_flux_op_add_em = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, + gks->info.charge, gks->info.mass, gkcls->no_by, true, app->gk_geom, + app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); + gkcls->slvr_add_em = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, + gks->info.skip_cell_threshold, gkcls->no_by, true, app->gk_geom, gks->vel_map, + &aux_inp, app->use_gpu); + + // Runtime methods for EM contributions. + gkcls->add_em_flux = gk_species_collisionless_add_em_flux_enabled; + gkcls->add_em_rhs = gk_species_collisionless_add_em_rhs_enabled; + } else { + gkcls->apar = gkyl_array_acquire(app->field->phi_smooth); // Not used. + gkcls->apardot = gkyl_array_acquire(app->field->phi_smooth); // Not used. } + if (gkcls->write_diagnostics) { gkcls->write_diags_func = gk_species_collisionless_write_diags_enabled; } @@ -220,7 +233,9 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); - if (gkcls->write_diagnostics) { + if (gkcls->is_em) { + gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op_add_em); + gkyl_dg_updater_gyrokinetic_release(gkcls->slvr_add_em); } } } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index a109ab3386..a46109ee1d 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -715,6 +715,7 @@ struct gk_species { struct gkyl_array *f_host; // Host copy for IO and initialization. struct gkyl_array *gyro_phi; // Gyroaveraged electrostatic potential. + struct gkyl_array *gyro_apar; // Gyroaveraged parallel vector potential. struct gkyl_array *gyro_apardot; // Gyroaveraged parallel vector potential time derivative. bool is_em; // Whether electromagnetic terms are present. @@ -992,7 +993,7 @@ struct gk_field { struct gkyl_job_pool *job_pool; // Job pool // arrays for local charge density, global charge density, and global smoothed (in z) charge density struct gkyl_array *rho_c; - struct gkyl_array *rho_c_global_dg; + struct gkyl_array *rho_c_global_dg; // Auxiliary array for global charge density but also used in smoothing. struct gkyl_array *rho_c_global_smooth; struct gkyl_array *phi_fem, *phi_smooth; // arrays for updates @@ -1014,9 +1015,10 @@ struct gk_field { struct { struct gkyl_array *apar; // Array for A_parallel (solved only in ic). struct gkyl_array *apar_old; // Previous state of A_parallel (for update with apardot). + struct gkyl_array *apar_fem; // FEM A_parallel. + struct gkyl_array *apar_smooth; // Smoothed A_parallel. struct gkyl_array *apar_host; // Host copy for use IO. struct gkyl_array *apardot; // Array for d(A_parallel)/dt (solved through Ohm's law). - struct gkyl_array *apardot_smooth; // Smoothed d(A_parallel)/dt. struct gkyl_array *apardot_host; // Host copy for use IO. struct gkyl_array *currentDens; // Current density. struct gkyl_array *currentDens_global; // Current density. @@ -1104,7 +1106,7 @@ struct gk_field { struct gkyl_array *rhs_in[]); void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); - void (*step_apar) (struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); + void (*step_apar) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); }; // Gyrokinetic object: used as opaque pointer in user code. @@ -3241,13 +3243,15 @@ void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field); /** * Step the parallel component of the magnetic vector potential, apar, forward in time. + * Also update apar_smooth used in the GK characteristics. * + * @param app gyrokinetic app object. * @param field Pointer to field. * @param out Output array. (apar) * @param dt Timestep. * @param inp Input array. (apardot from Ohm's law) */ -void gk_field_step_apar(struct gk_field *field, struct gkyl_array* out, double dt, +void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp); /** diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index cb0762a1d1..29bc693f9a 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -33,7 +33,7 @@ gyrokinetic_forward_euler(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_neut_species_step_f(gkns, fout_neut[i], dta, fin_neut[i]); gk_neut_species_bflux_step_f(app, &gkns->bflux, bflux_out_neut[i], dta, bflux_in_neut[i]); } - gk_field_step_apar(app->field, app->field->apardot, dta, app->field->apar); + gk_field_step_apar(app, app->field, app->field->apar, dta, app->field->apardot); app->stat.fwd_euler_step_f_tm += gkyl_time_diff_now_sec(wst); app->stat.fwd_euler_tm += gkyl_time_diff_now_sec(wst_fe); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 799848105a..33bf5f7e6f 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -360,8 +360,8 @@ static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_vpar_ }; // -// Serendipity volume kernels general geometry for adding EM terms. -// Need to be separated like this for GPU build. +// Serendipity volume kernels general geometry +// Need to be separated like this for GPU build // GKYL_CU_DH @@ -387,7 +387,7 @@ kernel_dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, cons (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), @@ -416,7 +416,7 @@ kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, cons (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), @@ -445,7 +445,7 @@ kernel_dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, cons (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), @@ -474,7 +474,7 @@ kernel_dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, cons (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), @@ -494,7 +494,7 @@ static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_em_vol_kernels[] = { }; // -// Serendipity volume kernels to add EM, no toroidal field (by=0) +// Serendipity volume kernels general geometry, no toroidal field (by=0) // Need to be separated like this for GPU build // @@ -515,7 +515,7 @@ kernel_dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_no_by_vol_2x2v_ser_p1(xc, dx, + return dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(xc, dx, (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, @@ -568,7 +568,9 @@ static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_em_no_by_vol_kernels[] = { NULL, kernel_dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1, NULL }, // 3 }; -// Kernel list that add EM terms. +// +// Serendipity surface kernels general geometry +// // Surface kernel list: x-direction GKYL_CU_D static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_x_kernels[] = { @@ -617,7 +619,6 @@ static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_vpar_kernels[] = { NULL, dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1, NULL }, // 3 }; -// Boundary surface kernel (zero-flux BCs) to add EM terms. // Conf-space advection boundary surface kernel list: x-direction GKYL_CU_D static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_x_kernels[] = { From 3504b479bdffcab9d156b0802e051138bd8c552e Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 24 Oct 2025 16:25:08 -0400 Subject: [PATCH 024/181] fix a bug introduced by the merge --- gyrokinetic/apps/gk_species.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 879da7b9d5..6e2acc6185 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1841,13 +1841,6 @@ gk_species_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, return species->em_rhs_func(app, species, fin, rhs, bflux_moms); } -double -gk_species_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, - const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) -{ - return species->em_rhs_func(app, species, fin, rhs, bflux_moms); -} - double gk_species_rhs_implicit(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, double dt) From 4f6805fd103bf8730b660ff0db571b63690e1d93 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 24 Oct 2025 17:00:47 -0400 Subject: [PATCH 025/181] bugfix: m0 moment of species was allocated twice --- gyrokinetic/apps/gk_species.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 6e2acc6185..dff434c7bb 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1615,9 +1615,6 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->anom_diff = (struct gk_anomalous_diff) { }; gk_species_anomalous_diff_init(app, gks, &gks->anom_diff); - // Allocate data for density (for charge density or upar calculation). - gk_species_moment_init(app, gks, &gks->m0, GKYL_F_MOMENT_M0, false); - if (gks->collisionless.is_em) { // To compute current density for Ampere's law and current dot for Ohm's law. gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); @@ -1956,9 +1953,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) gk_species_anomalous_diff_release(app, &s->anom_diff); // Release moment data. - gk_species_moment_release(app, &s->m0); - if (s->collisionless.is_em) - gk_species_moment_release(app, &s->m1); + gk_species_moment_release(app, &s->m0); for (int i=0; iinfo.num_diag_moments; ++i) gk_species_moment_release(app, &s->moms[i]); @@ -1987,6 +1982,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) } if (s->is_em) { + gk_species_moment_release(app, &s->m1); gkyl_array_release(s->gyro_apar); gkyl_array_release(s->gyro_apardot); } From 26e1383384e9620b5fcf0388fafd86c5bca802c5 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 27 Oct 2025 09:29:20 -0400 Subject: [PATCH 026/181] add empty dg_gk em kernels --- ...tic_add_em_boundary_surfvpar_1x1v_ser_p1.c | 18 ++++++++++++++++++ ...tic_add_em_boundary_surfvpar_1x2v_ser_p1.c | 18 ++++++++++++++++++ ...tic_add_em_boundary_surfvpar_2x2v_ser_p1.c | 18 ++++++++++++++++++ ...tic_add_em_boundary_surfvpar_3x2v_ser_p1.c | 18 ++++++++++++++++++ ..._gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c | 17 +++++++++++++++++ ..._gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c | 17 +++++++++++++++++ ..._gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c | 17 +++++++++++++++++ ..._gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c | 17 +++++++++++++++++ .../dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c | 19 +++++++++++++++++++ .../dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c | 19 +++++++++++++++++++ .../dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c | 19 +++++++++++++++++++ .../dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c | 19 +++++++++++++++++++ 12 files changed, 216 insertions(+) create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c new file mode 100644 index 0000000000..0d0ee1dcb7 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c @@ -0,0 +1,18 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. + // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. + // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. + // edge: determines if the update is for the left edge (-1) or right edge (+1). + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c new file mode 100644 index 0000000000..640fa5f1d1 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c @@ -0,0 +1,18 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. + // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. + // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. + // edge: determines if the update is for the left edge (-1) or right edge (+1). + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..363c18ba47 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,18 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. + // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. + // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. + // edge: determines if the update is for the left edge (-1) or right edge (+1). + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..912a590a66 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,18 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_edge, const double *vmap_prime_skin, + const double *flux_surf_edge, const double *flux_surf_skin, + const int edge, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. + // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. + // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. + // edge: determines if the update is for the left edge (-1) or right edge (+1). + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c new file mode 100644 index 0000000000..98e85d2209 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c @@ -0,0 +1,17 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. + // flux_surf_l: Surface expansion of phase space flux on the left. + // flux_surf_r: Surface expansion of phase space flux on the right. + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c new file mode 100644 index 0000000000..7abe4f702f --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c @@ -0,0 +1,17 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. + // flux_surf_l: Surface expansion of phase space flux on the left. + // flux_surf_r: Surface expansion of phase space flux on the right. + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..daeebb1c56 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,17 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. + // flux_surf_l: Surface expansion of phase space flux on the left. + // flux_surf_r: Surface expansion of phase space flux on the right. + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..5e3a3a38e7 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,17 @@ +#include +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, + const double *flux_surf_l, const double *flux_surf_r, + double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. + // flux_surf_l: Surface expansion of phase space flux on the left. + // flux_surf_r: Surface expansion of phase space flux on the right. + // out: output increment in center cell. + + return 0.0; + +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c new file mode 100644 index 0000000000..8a43c662e6 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c @@ -0,0 +1,19 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *phi, + const double *apar, const double *rtg33inv, const double *bioverJB, + const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // phi: electrostatic potential . + // apar: parallel component of vector potential. + // fin: Distribution function. + // out: output increment. + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c new file mode 100644 index 0000000000..97230754e5 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c @@ -0,0 +1,19 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *phi, + const double *apar, const double *rtg33inv, const double *bioverJB, + const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // phi: electrostatic potential . + // apar: parallel component of vector potential. + // fin: Distribution function. + // out: output increment. + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c new file mode 100644 index 0000000000..9236339f5d --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c @@ -0,0 +1,19 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *phi, + const double *apar, const double *rtg33inv, const double *bioverJB, + const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // phi: electrostatic potential . + // apar: parallel component of vector potential. + // fin: Distribution function. + // out: output increment. + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c new file mode 100644 index 0000000000..219e2e35ae --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c @@ -0,0 +1,19 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *phi, + const double *apar, const double *rtg33inv, const double *bioverJB, + const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // phi: electrostatic potential . + // apar: parallel component of vector potential. + // fin: Distribution function. + // out: output increment. + + return 0.; +} From bf31f29c1405c3515f3ce6eac12af56613611125 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 27 Oct 2025 10:27:37 -0400 Subject: [PATCH 027/181] replace phi and dualcurlbhatoverB by apar and apardot --- .../dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c | 4 +- .../dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c | 4 +- .../dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c | 4 +- .../dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c | 4 +- .../gkyl_dg_gyrokinetic_kernels.h | 124 +++--------------- 5 files changed, 25 insertions(+), 115 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c index 8a43c662e6..3eb7e85c0e 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c @@ -1,7 +1,7 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *phi, - const double *apar, const double *rtg33inv, const double *bioverJB, + const double q_, const double m_, const double *bmag, const double *apar, + const double *apardot, const double *rtg33inv, const double *bioverJB, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c index 97230754e5..971767445c 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c @@ -1,7 +1,7 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *phi, - const double *apar, const double *rtg33inv, const double *bioverJB, + const double q_, const double m_, const double *bmag, const double *apar, + const double *apardot, const double *rtg33inv, const double *bioverJB, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c index 9236339f5d..273c7fcf79 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c @@ -1,7 +1,7 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *phi, - const double *apar, const double *rtg33inv, const double *bioverJB, + const double q_, const double m_, const double *bmag, const double *apar, + const double *apardot, const double *rtg33inv, const double *bioverJB, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c index 219e2e35ae..cfb0840e3d 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c @@ -1,7 +1,7 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *phi, - const double *apar, const double *rtg33inv, const double *bioverJB, + const double q_, const double m_, const double *bmag, const double *apar, + const double *apardot, const double *rtg33inv, const double *bioverJB, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. diff --git a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h index 0bbbaf61e6..830cf6a25e 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h +++ b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h @@ -228,16 +228,15 @@ GKYL_CU_DH double dg_gyrokinetic_boundary_surfvpar_3x2v_ser_p1(const double *w, const double *flux_surf_edge, const double *flux_surf_skin, const int edge, double* GKYL_RESTRICT out); - -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const double *w, const double *dxv, + GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, @@ -256,42 +255,15 @@ GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1(const doub const double *flux_surf_edge, const double *flux_surf_skin, const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x1v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x1v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x1v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); - GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, @@ -310,42 +282,15 @@ GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1(const doub const double *flux_surf_edge, const double *flux_surf_skin, const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x2v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); - GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, @@ -372,50 +317,15 @@ GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1(const doub const double *flux_surf_edge, const double *flux_surf_skin, const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfy_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfy_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); - GKYL_CU_DH double dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *phi, - const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *bmag, const double *apar, const double *apardot, + const double *rtg33inv, const double* bioverJB, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, From 3fe8d4ed0b1c1cb0f23220ce0d473a2a461e84dc Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 5 Nov 2025 17:47:44 -0500 Subject: [PATCH 028/181] this is a chunky commit but it looks like it works in the electrostatic limit ! Changelog: - gk app level -- The bflux and cfl handling is now done outside of gk_species_rhs because it is clearer and it allows to avoid the bflux computation before having the RHS completed. -- gyrokinetic_rhs now has the full flow for EM simulation, i.e. computes the ES+Apar RHS, get apardot from Ohm's law, add apardot to the rhs. - GK zero level --Volume kernels, the GK volume kernels now call the the aparallel contribution right after the electrostatic one. --Surface kernels, the aparallel term is now included in the surface kernel computation and a lot of addition with Apar=0 are performed in the ES limit. We could create ES kernels instead to avoid it. --The apardot term is added by using new gyrokinetic solver updater with kernels that do nothing except adding the apardot to the volume and surface terms. This allows to reuse a lot of the coding and do not touch other app. Improvement: The flags are a bit messy (is_em, add_apardot). I will improve this after a mergin main into this branch. GPU: Nothing is ready yet. --- gyrokinetic/apps/gk_field.c | 9 +- gyrokinetic/apps/gk_species.c | 111 +- gyrokinetic/apps/gk_species_collisionless.c | 105 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 58 +- gyrokinetic/apps/gyrokinetic.c | 11 +- .../dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c | 50 + .../dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c | 53 + .../dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c | 126 ++ .../dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c | 239 ++++ ..._gyrokinetic_add_apardot_vol_1x1v_ser_p1.c | 25 + ..._gyrokinetic_add_apardot_vol_1x2v_ser_p1.c | 35 + ..._gyrokinetic_add_apardot_vol_2x2v_ser_p1.c | 55 + ..._gyrokinetic_add_apardot_vol_3x2v_ser_p1.c | 95 ++ ...tic_add_em_boundary_surfvpar_1x1v_ser_p1.c | 18 - ...tic_add_em_boundary_surfvpar_1x2v_ser_p1.c | 18 - ...tic_add_em_boundary_surfvpar_2x2v_ser_p1.c | 18 - ...tic_add_em_boundary_surfvpar_3x2v_ser_p1.c | 18 - ..._gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c | 17 - ..._gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c | 17 - ..._gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c | 17 - ..._gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c | 17 - .../dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c | 19 - .../dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c | 19 - .../dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c | 19 - .../dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c | 19 - .../gkyl_dg_gyrokinetic_kernels.h | 166 +-- ...ss_flux_add_apardot_surfvpar_1x1v_ser_p1.c | 65 ++ ...ss_flux_add_apardot_surfvpar_1x2v_ser_p1.c | 83 ++ ...ss_flux_add_apardot_surfvpar_2x2v_ser_p1.c | 124 ++ ...ss_flux_add_apardot_surfvpar_3x2v_ser_p1.c | 205 ++++ ...nless_flux_add_em_edge_surfx_1x1v_ser_p1.c | 26 - ...nless_flux_add_em_edge_surfx_1x2v_ser_p1.c | 26 - ...nless_flux_add_em_edge_surfx_2x2v_ser_p1.c | 26 - ...nless_flux_add_em_edge_surfx_3x2v_ser_p1.c | 26 - ...nless_flux_add_em_edge_surfy_2x2v_ser_p1.c | 26 - ...nless_flux_add_em_edge_surfy_3x2v_ser_p1.c | 26 - ...nless_flux_add_em_edge_surfz_3x2v_ser_p1.c | 26 - ...m_multib_boundary_edge_surfx_1x1v_ser_p1.c | 26 - ...m_multib_boundary_edge_surfx_1x2v_ser_p1.c | 26 - ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 26 - ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 26 - ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 26 - ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 26 - ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 26 - ...add_em_multib_boundary_surfx_1x1v_ser_p1.c | 26 - ...add_em_multib_boundary_surfx_1x2v_ser_p1.c | 26 - ...add_em_multib_boundary_surfx_2x2v_ser_p1.c | 26 - ...add_em_multib_boundary_surfx_3x2v_ser_p1.c | 26 - ...add_em_multib_boundary_surfy_2x2v_ser_p1.c | 26 - ...add_em_multib_boundary_surfy_3x2v_ser_p1.c | 26 - ...add_em_multib_boundary_surfz_3x2v_ser_p1.c | 26 - ...flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c | 26 - ...flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c | 26 - ...flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c | 26 - ...flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c | 26 - ...flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c | 26 - ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 26 - ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 26 - ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 26 - ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 26 - ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 26 - ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 26 - ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 26 - ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 26 - ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 26 - ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 26 - ...s_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c | 26 - ...s_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c | 26 - ...less_flux_add_em_no_by_surfx_2x2v_ser_p1.c | 26 - ...less_flux_add_em_no_by_surfx_3x2v_ser_p1.c | 26 - ...less_flux_add_em_no_by_surfy_2x2v_ser_p1.c | 26 - ...less_flux_add_em_no_by_surfy_3x2v_ser_p1.c | 26 - ...less_flux_add_em_no_by_surfz_3x2v_ser_p1.c | 26 - ...ionless_flux_add_em_surfvpar_1x1v_ser_p1.c | 26 - ...ionless_flux_add_em_surfvpar_1x2v_ser_p1.c | 26 - ...ionless_flux_add_em_surfvpar_2x2v_ser_p1.c | 26 - ...ionless_flux_add_em_surfvpar_3x2v_ser_p1.c | 26 - ...lisionless_flux_add_em_surfx_1x1v_ser_p1.c | 26 - ...lisionless_flux_add_em_surfx_1x2v_ser_p1.c | 26 - ...lisionless_flux_add_em_surfx_2x2v_ser_p1.c | 26 - ...lisionless_flux_add_em_surfx_3x2v_ser_p1.c | 26 - ...lisionless_flux_add_em_surfy_2x2v_ser_p1.c | 26 - ...lisionless_flux_add_em_surfy_3x2v_ser_p1.c | 26 - ...lisionless_flux_add_em_surfz_3x2v_ser_p1.c | 26 - ...ollisionless_flux_edge_surfx_1x1v_ser_p1.c | 4 +- ...ollisionless_flux_edge_surfx_1x2v_ser_p1.c | 4 +- ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 28 +- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 52 +- ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 28 +- ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 52 +- ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 52 +- ...x_multib_boundary_edge_surfx_1x1v_ser_p1.c | 4 +- ...x_multib_boundary_edge_surfx_1x2v_ser_p1.c | 4 +- ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 28 +- ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 52 +- ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 28 +- ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 52 +- ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 52 +- ...s_flux_multib_boundary_surfx_1x1v_ser_p1.c | 4 +- ...s_flux_multib_boundary_surfx_1x2v_ser_p1.c | 4 +- ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 28 +- ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 52 +- ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 28 +- ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 52 +- ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 52 +- ...onless_flux_no_by_edge_surfx_2x2v_ser_p1.c | 4 +- ...onless_flux_no_by_edge_surfx_3x2v_ser_p1.c | 4 +- ...onless_flux_no_by_edge_surfy_2x2v_ser_p1.c | 4 +- ...onless_flux_no_by_edge_surfy_3x2v_ser_p1.c | 4 +- ...onless_flux_no_by_edge_surfz_3x2v_ser_p1.c | 4 +- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 4 +- ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 4 +- ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 4 +- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 4 +- ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 4 +- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 4 +- ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 4 +- ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 4 +- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 4 +- ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 4 +- ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 42 +- ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 74 +- ...llisionless_flux_no_by_surfx_2x2v_ser_p1.c | 4 +- ...llisionless_flux_no_by_surfx_3x2v_ser_p1.c | 4 +- ...llisionless_flux_no_by_surfy_2x2v_ser_p1.c | 4 +- ...llisionless_flux_no_by_surfy_3x2v_ser_p1.c | 4 +- ...llisionless_flux_no_by_surfz_3x2v_ser_p1.c | 4 +- .../gk_collisionless_flux_surf_return_zero.c | 11 + ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 26 +- ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 30 +- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 66 +- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 170 ++- ..._collisionless_flux_surfvpar_return_zero.c | 11 + .../gk_collisionless_flux_surfx_1x1v_ser_p1.c | 4 +- .../gk_collisionless_flux_surfx_1x2v_ser_p1.c | 4 +- .../gk_collisionless_flux_surfx_2x2v_ser_p1.c | 28 +- .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 52 +- .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 28 +- .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 52 +- .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 52 +- .../gkyl_gk_collisionless_flux_kernels.h | 1023 ++--------------- gyrokinetic/zero/dg_gyrokinetic.c | 21 +- gyrokinetic/zero/dg_updater_gyrokinetic.c | 6 +- gyrokinetic/zero/gk_collisionless_flux.c | 66 +- gyrokinetic/zero/gk_dg_geom.c | 10 + gyrokinetic/zero/gk_geometry.c | 1 + gyrokinetic/zero/gkyl_dg_gyrokinetic.h | 5 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 400 +++---- .../zero/gkyl_dg_updater_gyrokinetic.h | 18 +- .../zero/gkyl_dg_updater_gyrokinetic_priv.h | 11 +- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 11 +- .../zero/gkyl_gk_collisionless_flux_priv.h | 370 +----- gyrokinetic/zero/gkyl_gk_dg_geom.h | 4 + 153 files changed, 3000 insertions(+), 3571 deletions(-) create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index add7f4d31f..78aa5feee7 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -598,12 +598,12 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->accumulate_current = gk_field_accumulate_current_dens_none; f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_none; f->step_apar = gk_field_step_apar_none; + f->apar_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); if (f->is_em) { f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_old = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); - f->apar_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_host = f->apar; f->apardot_host = f->apardot; @@ -1099,12 +1099,13 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->phi_fem); gkyl_array_release(f->phi_smooth); + // We need at least these two arrays even in ES case (kept 0). + gkyl_array_release(f->apar_smooth); + gkyl_array_release(f->apardot); if (f->is_em) { gkyl_array_release(f->apar); gkyl_array_release(f->apar_old); gkyl_array_release(f->apar_fem); - gkyl_array_release(f->apar_smooth); - gkyl_array_release(f->apardot); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index dff434c7bb..3254f0f5f9 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -73,8 +73,8 @@ gk_species_omegaH_dt(gkyl_gyrokinetic_app *app, struct gk_species *gks, const st } } -static double -gk_species_update_bflux_and_cfl(gkyl_gyrokinetic_app *app, struct gk_species *species, +static void +gk_species_update_bflux_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { // Compute and store (in the ghost cell of rhs) the boundary fluxes. @@ -82,7 +82,12 @@ gk_species_update_bflux_and_cfl(gkyl_gyrokinetic_app *app, struct gk_species *sp // Compute diagnostic moments of the boundary fluxes. gk_species_bflux_calc_moms(app, &species->bflux, rhs, bflux_moms); - +} + +static double +gk_species_get_cfl_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ // Reduce the CFL frequency anc compute stable dt needed by this species. app->stat.n_species_omega_cfl +=1; struct timespec tm = gkyl_wall_clock(); @@ -106,6 +111,14 @@ gk_species_update_bflux_and_cfl(gkyl_gyrokinetic_app *app, struct gk_species *sp } static double +gk_species_get_cfl_static(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + double omega_cfl = 1/DBL_MAX; + return app->cfl/omega_cfl; +} + +static void gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { @@ -115,7 +128,7 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, gkyl_array_clear(species->cflrate, 0.0); gkyl_array_clear(rhs, 0.0); - // Collisionless terms. + // Collisionless terms (without Apardot). gk_species_collisionless_rhs(app, species, &species->collisionless, fin, rhs); // LBO Collisions. @@ -140,49 +153,17 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, // Heating source. gk_species_heating_rhs(app, species, &species->heat_src, fin, rhs); - - // Compute and store (in the ghost cell of rhs) the boundary fluxes. - gk_species_bflux_rhs(app, &species->bflux, fin, rhs); - - // Compute diagnostic moments of the boundary fluxes. - gk_species_bflux_calc_moms(app, &species->bflux, rhs, bflux_moms); - - // Reduce the CFL frequency anc compute stable dt needed by this species. - app->stat.n_species_omega_cfl +=1; - struct timespec tm = gkyl_wall_clock(); - gkyl_array_reduce_range(species->omega_cfl, species->cflrate, GKYL_MAX, &species->local); - - double omega_cfl_ho[1]; - if (app->use_gpu) { - gkyl_cu_memcpy(omega_cfl_ho, species->omega_cfl, sizeof(double), GKYL_CU_MEMCPY_D2H); - } - else { - omega_cfl_ho[0] = species->omega_cfl[0]; - } - double dt_out = app->cfl/omega_cfl_ho[0]; - - // Enforce the omega_H constraint on dt. - double dt_omegaH = gk_species_omegaH_dt(app, species, fin); - dt_out = fmin(dt_out, dt_omegaH); - - app->stat.species_omega_cfl_tm += gkyl_time_diff_now_sec(tm); - return dt_out; } -// TODO: Make this function do something. -static double -gk_species_em_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, +static void +gk_species_add_apardot_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { struct timespec wst = gkyl_wall_clock(); - gk_species_collisionless_add_em_rhs(app, species, &species->collisionless, fin, rhs); + gk_species_collisionless_add_apardot_rhs(app, species, &species->collisionless, fin, rhs); app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); - - // Update the bflux and its moments and compute cflrate as usual - double dt_out = gk_species_update_bflux_and_cfl(app, species, fin, rhs, bflux_moms); - return dt_out; } static double @@ -215,12 +196,11 @@ gk_species_rhs_implicit_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *sp return app->cfl/omega_cfl; } -static double +static void gk_species_rhs_static(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - double omega_cfl = 1/DBL_MAX; - return app->cfl/omega_cfl; + // Do nothing. } static double @@ -1104,7 +1084,9 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; - gks->em_rhs_func = gk_species_em_rhs_dynamic; + gks->add_apardot_rhs_func = gks->is_em ? gk_species_add_apardot_dynamic : gk_species_rhs_static; + gks->bflux_update = gk_species_update_bflux_dynamic; + gks->get_cfl = gk_species_get_cfl_dynamic; gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; gks->bc_func = gk_species_apply_bc_dynamic; gks->release_func = gk_species_release_dynamic; @@ -1143,7 +1125,9 @@ gk_species_init_static(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app * // Set function pointers. gks->rhs_func = gk_species_rhs_static; - gks->em_rhs_func = gk_species_rhs_static; + gks->add_apardot_rhs_func = gk_species_rhs_static; + gks->bflux_update = gk_species_rhs_static; + gks->get_cfl = gk_species_get_cfl_static; gks->rhs_implicit_func = gk_species_rhs_implicit_static; gks->bc_func = gk_species_apply_bc_static; gks->release_func = gk_species_release_static; @@ -1601,11 +1585,9 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st } gks->is_em = app->field->is_em; - if (gks->is_em) { - // We do not have FLR effects for EM yet. - gks->gyro_apar = gkyl_array_acquire(app->field->apar_smooth); - gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); - } + // We do not have FLR effects for EM yet. + gks->gyro_apar = gkyl_array_acquire(app->field->apar_smooth); + gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); // Initialize the collisionless solver. gks->collisionless = (struct gk_collisionless) { }; @@ -1824,18 +1806,32 @@ gk_species_apply_ic_cross(gkyl_gyrokinetic_app *app, struct gk_species *gks_self } } -double +void gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - return species->rhs_func(app, species, fin, rhs, bflux_moms); + species->rhs_func(app, species, fin, rhs, bflux_moms); } -double -gk_species_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +void +gk_species_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + species->add_apardot_rhs_func(app, species, fin, rhs, bflux_moms); +} + +void +gk_species_update_bflux(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + species->bflux_update(app, species, fin, rhs, bflux_moms); +} + +double +gk_species_get_cfl(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - return species->em_rhs_func(app, species, fin, rhs, bflux_moms); + return species->get_cfl(app, species, fin, rhs, bflux_moms); } double @@ -1981,11 +1977,10 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) gkyl_deflated_fem_poisson_release(s->flr_op); } - if (s->is_em) { + gkyl_array_release(s->gyro_apar); + gkyl_array_release(s->gyro_apardot); + if (s->is_em) gk_species_moment_release(app, &s->m1); - gkyl_array_release(s->gyro_apar); - gkyl_array_release(s->gyro_apardot); - } s->release_func(app, s); } diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 1386995f8b..649ee81075 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -20,17 +20,9 @@ gk_species_collisionless_flux_enabled(gkyl_gyrokinetic_app *app, struct gk_speci // where they are not defined. gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_op, &app->local, &species->local, &app->local_ext, &species->local_ext, - species->gyro_phi, fin, gkcls->flux_surf, species->cflrate); + species->gyro_phi, species->gyro_apar, fin, gkcls->flux_surf, species->cflrate); } -static void -gk_species_collisionless_add_em_flux_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, - struct gk_collisionless *gkcls, const struct gkyl_array *fin) -{ - gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_op_add_em, - &app->local, &species->local, &app->local_ext, &species->local_ext, - species->gyro_apardot, fin, gkcls->flux_surf, species->cflrate); -} static void gk_species_collisionless_rhs_disabled(gkyl_gyrokinetic_app *app, struct gk_species *species, @@ -52,15 +44,18 @@ gk_species_collisionless_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_specie app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); } -static void -gk_species_collisionless_add_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, +static void gk_species_collisionless_add_apardot_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { struct timespec wst = gkyl_wall_clock(); - gkcls->add_em_flux(app, species, gkcls, fin); + // Add Apardot surface flux contribution to RHS + gkyl_gk_collisionless_flux_surf(gkcls->add_apardot_surf_flux_op, + &app->local, &species->local, &app->local_ext, &species->local_ext, + species->gyro_phi, species->gyro_apar, fin, gkcls->flux_surf, species->cflrate); - gkyl_dg_updater_gyrokinetic_advance(gkcls->slvr_add_em, &species->local, + // Advance the rhs adding only the Apardot volume contribution + gkyl_dg_updater_gyrokinetic_advance(gkcls->add_apardot_slvr, &species->local, fin, species->cflrate, rhs); app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); @@ -93,8 +88,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; gkcls->flux_func = gk_species_collisionless_flux_disabled; gkcls->rhs_func = gk_species_collisionless_rhs_disabled; - gkcls->add_em_flux = gk_species_collisionless_flux_disabled; - gkcls->add_em_rhs = gk_species_collisionless_rhs_disabled; + gkcls->add_apardot_rhs_func = gk_species_collisionless_rhs_disabled; if (gkcls->collisionless_id) { @@ -138,51 +132,39 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie bctype_conf[GKYL_MAX_CDIM+d] = gks->upper_bc[d].type; } + bool add_apardot = false; gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->no_by, false, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); - if (gkcls->is_em) { - } - struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, - .phi = gks->gyro_phi, .apar = gkcls->apar, .apardot = gkcls->apardot }; - // Create solver. - gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + .phi = gks->gyro_phi, .apar = gks->gyro_apar, .apardot = gks->gyro_apardot }; + // Create solver. + gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, + gks->info.skip_cell_threshold, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, gks->vel_map, + &aux_inp, app->use_gpu); + + if (gkcls->is_em) { + add_apardot = true; + // Create a special flux operator that only adds the AparDot contribution. + gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, + gks->info.charge, gks->info.mass, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, + app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); + // Create solver that only adds AparDot terms. + gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->no_by, false, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); - - // Methods chosen at runtime. - gkcls->flux_func = gk_species_collisionless_flux_enabled; - gkcls->rhs_func = gk_species_collisionless_rhs_enabled; - - // Electromagnetic additional setup - if (gkcls->is_em) { - - gkcls->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - gkcls->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - - // Create solvers to add EM contributions. - gkcls->surf_flux_op_add_em = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->no_by, true, app->gk_geom, - app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); - gkcls->slvr_add_em = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, - &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->no_by, true, app->gk_geom, gks->vel_map, - &aux_inp, app->use_gpu); - - // Runtime methods for EM contributions. - gkcls->add_em_flux = gk_species_collisionless_add_em_flux_enabled; - gkcls->add_em_rhs = gk_species_collisionless_add_em_rhs_enabled; - } else { - gkcls->apar = gkyl_array_acquire(app->field->phi_smooth); // Not used. - gkcls->apardot = gkyl_array_acquire(app->field->phi_smooth); // Not used. } - - if (gkcls->write_diagnostics) { + + // Methods chosen at runtime. + gkcls->flux_func = gk_species_collisionless_flux_enabled; + gkcls->rhs_func = gk_species_collisionless_rhs_enabled; + if (gkcls->is_em) + gkcls->add_apardot_rhs_func = gk_species_collisionless_add_apardot_rhs_enabled; + if (gkcls->write_diagnostics) gkcls->write_diags_func = gk_species_collisionless_write_diags_enabled; - } } } @@ -200,18 +182,11 @@ gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *speci gkcls->rhs_func(app, species, gkcls, fin, rhs); } -void -gk_species_collisionless_add_em_flux(gkyl_gyrokinetic_app *app, struct gk_species *species, - struct gk_collisionless *gkcls, const struct gkyl_array *fin) -{ - gkcls->add_em_flux(app, species, gkcls, fin); -} - -void -gk_species_collisionless_add_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +void +gk_species_collisionless_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { - gkcls->add_em_rhs(app, species, gkcls, fin, rhs); + gkcls->add_apardot_rhs_func(app, species, gkcls, fin, rhs); } void @@ -227,15 +202,13 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s if (gkcls->collisionless_id) { gkyl_array_release(gkcls->flux_surf); - gkyl_array_release(gkcls->apar); - gkyl_array_release(gkcls->apardot); gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); if (gkcls->is_em) { - gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op_add_em); - gkyl_dg_updater_gyrokinetic_release(gkcls->slvr_add_em); + gkyl_gk_collisionless_flux_release(gkcls->add_apardot_surf_flux_op); + gkyl_dg_updater_gyrokinetic_release(gkcls->add_apardot_slvr); } } } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index cb00b3420a..738017ae3d 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -244,23 +244,18 @@ struct gk_collisionless { // Organization of the different equation objects and the required data and solvers struct gkyl_array *flux_surf; // Array for surface phase space flux - struct gkyl_array *apar; // A_parallel. - struct gkyl_array *apardot; // d/dt A_parallel. struct gkyl_gk_collisionless_flux *surf_flux_op; // Collisionless fluxes. + struct gkyl_gk_collisionless_flux *add_apardot_surf_flux_op; // Updater to add Apardot terms to fluxes. gkyl_dg_updater_gyrokinetic *slvr; // Collisionless solver. - - struct gkyl_gk_collisionless_flux *surf_flux_op_add_em; // To add EM collisionless fluxes. - gkyl_dg_updater_gyrokinetic *slvr_add_em; // To add EM collisionless rhs. + gkyl_dg_updater_gyrokinetic *add_apardot_slvr; // Solver to add Apardot terms to RHS. // Methods chosen at runtime. void (*flux_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin); void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); - void (*add_em_flux)(gkyl_gyrokinetic_app *app, struct gk_species *species, - struct gk_collisionless *gkcls, const struct gkyl_array *fin); - void (*add_em_rhs)(gkyl_gyrokinetic_app *app, struct gk_species *species, + void (*add_apardot_rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); void (*write_diags_func)(gkyl_gyrokinetic_app* app, struct gk_species *gks, struct gk_collisionless *gkcls, double tm, int frame); @@ -828,11 +823,15 @@ struct gk_species { bool is_first_ps_integ_write_call; // Flag first time writing ps_integ_diag. // Pointer to various functions selected at runtime. - double (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); + void (*add_apardot_rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); - double (*em_rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + void (*bflux_update)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); - double (*rhs_implicit_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + double (*get_cfl)(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); + double (*rhs_implicit_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, double dt); void (*bc_func)(gkyl_gyrokinetic_app *app, const struct gk_species *species, struct gkyl_array *f); @@ -1441,15 +1440,15 @@ void gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species * struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); /** - * @brief Add electromagnetic contribution to the collisionless RHS. + * @brief Add Apardot electromagnetic contribution to the collisionless RHS. * * @param app Gyrokinetic app object. - * @param gks Pointer to species. + * @param species Pointer to species. * @param gkcls Species collisionless object. * @param fin Input distribution function. * @param rhs On output, the RHS from collisionless terms including EM contribution. */ -void gk_species_collisionless_add_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *gks, +void gk_species_collisionless_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); /** @@ -2494,13 +2493,12 @@ void gk_species_apply_ic_cross(gkyl_gyrokinetic_app *app, struct gk_species *spe * @param fin Input distribution function. * @param rhs On output, the RHS from the species object. * @param bflux_moms Output boundary flux moments (for diagnostics, stepped in time). - * @return Maximum stable time-step. */ -double gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +void gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); /** - * Add the electromagnetic part of the RHS from species distribution function + * Add the Apardot electromagnetic part of the RHS from species distribution function * * @param app gyrokinetic app object. * @param species Pointer to species. @@ -2509,9 +2507,33 @@ double gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, * @param bflux_moms Output boundary flux moments (for diagnostics, stepped in time). * @return Maximum stable time-step. */ -double gk_species_em_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +void gk_species_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); + +/** + * Update the boundary flux moments from species distribution function + * + * @param app gyrokinetic app object. + * @param species Pointer to species. + * @param fin Input distribution function. + * @param rhs On output, the RHS from the species object. + * @param bflux_moms Output boundary flux moments (for diagnostics, stepped in time). + */ +void gk_species_update_bflux(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); +/** + * Reduce and return the CFL condition from species distribution function + * + * @param app gyrokinetic app object. + * @param species Pointer to species. + * @param fin Input distribution function. + * @param rhs On output, the RHS from the species object. + * @param bflux_moms Output boundary flux moments (for diagnostics, stepped in time). + * @return Maximum stable time-step. + */ +double gk_species_get_cfl(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); /** * Compute the *implicit* RHS from species distribution function diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index cef84c37fb..2b496b24c4 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1738,11 +1738,10 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, } } - // Compute collisionless terms of charged species. + // Compute collisionless terms of charged species. (Electrostatic + Apar) for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; - double dt1 = gk_species_rhs(app, s, fin[i], fout[i], bflux_out[i]); - dtmin = fmin(dtmin, dt1); + gk_species_rhs(app, s, fin[i], fout[i], bflux_out[i]); } // Compute collisionless terms of neutrals. @@ -1772,10 +1771,12 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_field_em_rhs(app, app->field, fout); // Add electromagnetic contributions to the collisionless update of charged species. - // This is done after all ES terms since we need to compute M1 of fdot. + // This is done after all ES+Apar terms since we need to compute M1 of fdot. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; - double dt1 = gk_species_em_rhs(app, s, fin[i], fout[i], bflux_out[i]); + gk_species_add_apardot_rhs(app, s, fin[i], fout[i], bflux_out[i]); + gk_species_update_bflux(app, s, fin[i], fout[i], bflux_out[i]); + double dt1 = gk_species_get_cfl(app, s, fin[i], fout[i], bflux_out[i]); dtmin = fmin(dtmin, dt1); } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c new file mode 100644 index 0000000000..16e90e0188 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c @@ -0,0 +1,50 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // b_i: covariant components of the field aligned unit vector. + // apar: parallel component of magnetic vector potential. + // phi: electrostatic potential . + // fin: Distribution function. + // out: output increment. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double rdvpar2Sq = rdvpar2*rdvpar2; + double dvparSq = dxv[1]*dxv[1]; + + const double *b_x = &b_i[0]; + const double *b_y = &b_i[2]; + const double *b_z = &b_i[4]; + + double hamil[6] = {0.}; + hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; + hamil[1] = 1.4142135623730951*phi[1]*q_; + hamil[2] = 0.7071067811865475*vmapSq[1]*m_; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double vmap2 = vmap[1]*vmap[1]; + + double hamil2[2] = {0.}; + hamil2[0] = hamil[2]*hamil[2]; + hamil2[1] = hamil[4]*hamil[4]; + + double alphax[6] = {0.}; + + + + double alphavpar[6] = {0.}; + + + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c new file mode 100644 index 0000000000..459582a12d --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c @@ -0,0 +1,53 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // b_i: covariant components of the field aligned unit vector. + // apar: parallel component of magnetic vector potential. + // phi: electrostatic potential . + // fin: Distribution function. + // out: output increment. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + double rdmu2 = 2.0/dxv[2]; + + double rdvpar2Sq = rdvpar2*rdvpar2; + double dvparSq = dxv[1]*dxv[1]; + + const double *b_x = &b_i[0]; + const double *b_y = &b_i[2]; + const double *b_z = &b_i[4]; + + double hamil[12] = {0.}; + hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = vmapSq[1]*m_; + hamil[3] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double vmap2 = vmap[1]*vmap[1]; + + double hamil2[2] = {0.}; + hamil2[0] = hamil[2]*hamil[2]; + hamil2[1] = hamil[8]*hamil[8]; + + double alphax[12] = {0.}; + + + + double alphavpar[12] = {0.}; + + + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c new file mode 100644 index 0000000000..7b32a1eb31 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c @@ -0,0 +1,126 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // b_i: covariant components of the field aligned unit vector. + // apar: parallel component of magnetic vector potential. + // phi: electrostatic potential . + // fin: Distribution function. + // out: output increment. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + double rdmu2 = 2.0/dxv[3]; + + double rdvpar2Sq = rdvpar2*rdvpar2; + double dvparSq = dxv[2]*dxv[2]; + + const double *b_x = &b_i[0]; + const double *b_y = &b_i[4]; + const double *b_z = &b_i[8]; + + double hamil[24] = {0.}; + hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; + hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double vmap2 = vmap[1]*vmap[1]; + + double hamil2[2] = {0.}; + hamil2[0] = hamil[3]*hamil[3]; + hamil2[1] = hamil[16]*hamil[16]; + + double alphax[24] = {0.}; + alphax[0] = ((-(0.6123724356957944*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]-0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[1] = ((-(1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*apar[2]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]-0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[2] = ((-(0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[3] = ((-(1.369306393762915*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[5] = ((-(0.5511351921262146*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.5511351921262146*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[2]*hamil[3]*jacobtot_inv[3]-1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[6] = ((-(2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.232375754386623*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]-1.369306393762915*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]-1.232375754386623*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[7] = ((-(0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16])-0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[11] = ((-(1.232375754386623*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.232375754386623*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[16]-2.4647515087732463*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + + + out[1] += 0.4330127018922193*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); + out[5] += 0.4330127018922193*(alphax[6]*fin[11]+fin[6]*alphax[11]+alphax[3]*fin[7]+fin[3]*alphax[7]+alphax[1]*fin[5]+fin[1]*alphax[5]+alphax[0]*fin[2]+fin[0]*alphax[2]); + out[6] += 0.38729833462074165*alphax[11]*fin[20]+0.3872983346207417*(alphax[7]*fin[18]+alphax[6]*fin[17])+0.38729833462074165*alphax[3]*fin[16]+0.4330127018922193*(alphax[5]*fin[11]+fin[5]*alphax[11]+alphax[2]*fin[7]+fin[2]*alphax[7]+alphax[1]*fin[6]+fin[1]*alphax[6]+alphax[0]*fin[3]+fin[0]*alphax[3]); + out[8] += 0.4330127018922193*(alphax[11]*fin[15]+alphax[7]*fin[14]+alphax[6]*fin[13]+alphax[5]*fin[12]+alphax[3]*fin[10]+alphax[2]*fin[9]+alphax[1]*fin[8]+alphax[0]*fin[4]); + out[11] += 0.38729833462074165*alphax[6]*fin[20]+0.3872983346207417*(alphax[3]*fin[18]+alphax[11]*fin[17])+0.38729833462074165*alphax[7]*fin[16]+0.4330127018922193*(alphax[1]*fin[11]+fin[1]*alphax[11]+alphax[0]*fin[7]+fin[0]*alphax[7]+alphax[5]*fin[6]+fin[5]*alphax[6]+alphax[2]*fin[3]+fin[2]*alphax[3]); + out[12] += 0.4330127018922193*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[1]*fin[12]+alphax[7]*fin[10]+alphax[0]*fin[9]+alphax[5]*fin[8]+alphax[2]*fin[4]); + out[13] += 0.3872983346207417*alphax[11]*fin[23]+0.38729833462074165*(alphax[7]*fin[22]+alphax[6]*fin[21])+0.3872983346207417*alphax[3]*fin[19]+0.4330127018922193*(alphax[5]*fin[15]+alphax[2]*fin[14]+alphax[1]*fin[13]+alphax[11]*fin[12]+alphax[0]*fin[10]+alphax[7]*fin[9]+alphax[6]*fin[8]+alphax[3]*fin[4]); + out[15] += 0.3872983346207417*alphax[6]*fin[23]+0.38729833462074165*(alphax[3]*fin[22]+alphax[11]*fin[21])+0.3872983346207417*alphax[7]*fin[19]+0.4330127018922193*(alphax[1]*fin[15]+alphax[0]*fin[14]+alphax[5]*fin[13]+alphax[6]*fin[12]+fin[8]*alphax[11]+alphax[2]*fin[10]+alphax[3]*fin[9]+fin[4]*alphax[7]); + out[17] += 0.43301270189221935*alphax[5]*fin[20]+0.4330127018922193*(alphax[2]*fin[18]+alphax[1]*fin[17])+0.43301270189221935*alphax[0]*fin[16]+0.3872983346207417*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[3]*fin[3]); + out[20] += 0.4330127018922193*alphax[1]*fin[20]+0.43301270189221935*(alphax[0]*fin[18]+alphax[5]*fin[17])+0.4330127018922193*alphax[2]*fin[16]+0.38729833462074165*(alphax[6]*fin[11]+fin[6]*alphax[11]+alphax[3]*fin[7]+fin[3]*alphax[7]); + out[21] += 0.43301270189221935*alphax[5]*fin[23]+0.4330127018922193*(alphax[2]*fin[22]+alphax[1]*fin[21])+0.43301270189221935*alphax[0]*fin[19]+0.38729833462074165*(alphax[11]*fin[15]+alphax[7]*fin[14]+alphax[6]*fin[13]+alphax[3]*fin[10]); + out[23] += 0.4330127018922193*alphax[1]*fin[23]+0.43301270189221935*(alphax[0]*fin[22]+alphax[5]*fin[21])+0.4330127018922193*alphax[2]*fin[19]+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); + + double alphaz[24] = {0.}; + alphaz[0] = ((0.6123724356957944*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[1] = ((0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[2] = ((1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[3] = ((1.369306393762915*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[5] = ((0.5511351921262146*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[6] = ((0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[7] = ((2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+1.232375754386623*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+1.232375754386623*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[11] = ((1.232375754386623*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.232375754386623*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+2.4647515087732463*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]+0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + + + out[2] += 0.4330127018922193*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); + out[5] += 0.4330127018922193*(alphaz[7]*fin[11]+fin[7]*alphaz[11]+alphaz[3]*fin[6]+fin[3]*alphaz[6]+alphaz[2]*fin[5]+fin[2]*alphaz[5]+alphaz[0]*fin[1]+fin[0]*alphaz[1]); + out[7] += 0.38729833462074165*alphaz[11]*fin[20]+0.3872983346207417*(alphaz[7]*fin[18]+alphaz[6]*fin[17])+0.38729833462074165*alphaz[3]*fin[16]+0.4330127018922193*(alphaz[5]*fin[11]+fin[5]*alphaz[11]+alphaz[2]*fin[7]+fin[2]*alphaz[7]+alphaz[1]*fin[6]+fin[1]*alphaz[6]+alphaz[0]*fin[3]+fin[0]*alphaz[3]); + out[9] += 0.4330127018922193*(alphaz[11]*fin[15]+alphaz[7]*fin[14]+alphaz[6]*fin[13]+alphaz[5]*fin[12]+alphaz[3]*fin[10]+alphaz[2]*fin[9]+alphaz[1]*fin[8]+alphaz[0]*fin[4]); + out[11] += 0.38729833462074165*alphaz[7]*fin[20]+0.3872983346207417*(alphaz[11]*fin[18]+alphaz[3]*fin[17])+0.38729833462074165*alphaz[6]*fin[16]+0.4330127018922193*(alphaz[2]*fin[11]+fin[2]*alphaz[11]+alphaz[5]*fin[7]+fin[5]*alphaz[7]+alphaz[0]*fin[6]+fin[0]*alphaz[6]+alphaz[1]*fin[3]+fin[1]*alphaz[3]); + out[12] += 0.4330127018922193*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[2]*fin[12]+alphaz[6]*fin[10]+alphaz[5]*fin[9]+alphaz[0]*fin[8]+alphaz[1]*fin[4]); + out[14] += 0.3872983346207417*alphaz[11]*fin[23]+0.38729833462074165*(alphaz[7]*fin[22]+alphaz[6]*fin[21])+0.3872983346207417*alphaz[3]*fin[19]+0.4330127018922193*(alphaz[5]*fin[15]+alphaz[2]*fin[14]+alphaz[1]*fin[13]+alphaz[11]*fin[12]+alphaz[0]*fin[10]+alphaz[7]*fin[9]+alphaz[6]*fin[8]+alphaz[3]*fin[4]); + out[15] += 0.3872983346207417*alphaz[7]*fin[23]+0.38729833462074165*(alphaz[11]*fin[22]+alphaz[3]*fin[21])+0.3872983346207417*alphaz[6]*fin[19]+0.4330127018922193*(alphaz[2]*fin[15]+alphaz[5]*fin[14]+alphaz[0]*fin[13]+alphaz[7]*fin[12]+fin[9]*alphaz[11]+alphaz[1]*fin[10]+alphaz[3]*fin[8]+fin[4]*alphaz[6]); + out[18] += 0.43301270189221935*alphaz[5]*fin[20]+0.4330127018922193*(alphaz[2]*fin[18]+alphaz[1]*fin[17])+0.43301270189221935*alphaz[0]*fin[16]+0.3872983346207417*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[3]*fin[3]); + out[20] += 0.4330127018922193*alphaz[2]*fin[20]+0.43301270189221935*(alphaz[5]*fin[18]+alphaz[0]*fin[17])+0.4330127018922193*alphaz[1]*fin[16]+0.38729833462074165*(alphaz[7]*fin[11]+fin[7]*alphaz[11]+alphaz[3]*fin[6]+fin[3]*alphaz[6]); + out[22] += 0.43301270189221935*alphaz[5]*fin[23]+0.4330127018922193*(alphaz[2]*fin[22]+alphaz[1]*fin[21])+0.43301270189221935*alphaz[0]*fin[19]+0.38729833462074165*(alphaz[11]*fin[15]+alphaz[7]*fin[14]+alphaz[6]*fin[13]+alphaz[3]*fin[10]); + out[23] += 0.4330127018922193*alphaz[2]*fin[23]+0.43301270189221935*(alphaz[5]*fin[22]+alphaz[0]*fin[21])+0.4330127018922193*alphaz[1]*fin[19]+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); + + double alphavpar[24] = {0.}; + alphavpar[0] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[5])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[5]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[5]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[5]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[5]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3]-0.6123724356957944*b_y[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*b_y[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*jacobtot_inv[2]*apar[3]*b_y[3]-0.6123724356957944*jacobtot_inv[1]*hamil[2]*apar[3]*b_y[3]-0.3061862178478971*apar[0]*hamil[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[0]*apar[2]*hamil[2]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]-0.3061862178478971*b_y[0]*hamil[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*hamil[2]*apar[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[2]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[2]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[2]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[2]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[2]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[1] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[5])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[5]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[5]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[5]+1.1022703842524295*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*hamil[2]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*hamil[2]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*hamil[2]*apar[3]*b_y[3]-0.6123724356957944*apar[1]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.6123724356957944*hamil[1]*apar[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[1]*apar[2]*hamil[2]*b_y[3]+0.5511351921262146*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]-0.6123724356957944*b_y[1]*hamil[2]*jacobtot_inv[2]*apar[3]+0.6123724356957944*hamil[1]*b_y[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*hamil[2]*apar[3]+0.5511351921262146*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[2]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[2]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[2]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[2] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[5]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[5]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[5]-1.1022703842524295*hamil[2]*apar[3]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3]-0.5511351921262146*apar[2]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.6123724356957944*apar[1]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[2]*b_y[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3]-0.5511351921262146*b_y[2]*hamil[2]*jacobtot_inv[2]*apar[3]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[2]*apar[3]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*b_y[2]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[2]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[2]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[4] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[12])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[12]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[12]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[12]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[12]-0.6123724356957944*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[9]+0.6123724356957944*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[5] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[5]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[5]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[5]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[5]-0.5511351921262146*apar[2]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.5511351921262146*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]-0.5511351921262146*b_y[2]*hamil[2]*apar[3]*jacobtot_inv[3]+0.5511351921262146*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[3]-1.1022703842524295*hamil[2]*jacobtot_inv[2]*apar[3]*b_y[3]+1.1022703842524295*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.6123724356957944*jacobtot_inv[0]*apar[1]*hamil[2]*b_y[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*hamil[2]*apar[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*b_y[2]*apar[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[2]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[2]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[8] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[12]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[12]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[12]-0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[9]+1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[8]+0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[8]+0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[9] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[12]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[12]-1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[9]-0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[9]+0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[12] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[12]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[12]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[9]-1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[9]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[9]+0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[8]+1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + + + out[3] += 0.4330127018922193*(alphavpar[12]*fin[12]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[6] += 0.4330127018922193*(alphavpar[9]*fin[12]+fin[9]*alphavpar[12]+alphavpar[4]*fin[8]+fin[4]*alphavpar[8]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[7] += 0.4330127018922193*(alphavpar[8]*fin[12]+fin[8]*alphavpar[12]+alphavpar[4]*fin[9]+fin[4]*alphavpar[9]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[10] += 0.4330127018922193*(alphavpar[5]*fin[12]+fin[5]*alphavpar[12]+alphavpar[2]*fin[9]+fin[2]*alphavpar[9]+alphavpar[1]*fin[8]+fin[1]*alphavpar[8]+alphavpar[0]*fin[4]+fin[0]*alphavpar[4]); + out[11] += 0.4330127018922193*(alphavpar[4]*fin[12]+fin[4]*alphavpar[12]+alphavpar[8]*fin[9]+fin[8]*alphavpar[9]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[13] += 0.4330127018922193*(alphavpar[2]*fin[12]+fin[2]*alphavpar[12]+alphavpar[5]*fin[9]+fin[5]*alphavpar[9]+alphavpar[0]*fin[8]+fin[0]*alphavpar[8]+alphavpar[1]*fin[4]+fin[1]*alphavpar[4]); + out[14] += 0.4330127018922193*(alphavpar[1]*fin[12]+fin[1]*alphavpar[12]+alphavpar[0]*fin[9]+fin[0]*alphavpar[9]+alphavpar[5]*fin[8]+fin[5]*alphavpar[8]+alphavpar[2]*fin[4]+fin[2]*alphavpar[4]); + out[15] += 0.4330127018922193*(alphavpar[0]*fin[12]+fin[0]*alphavpar[12]+alphavpar[1]*fin[9]+fin[1]*alphavpar[9]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8]+alphavpar[4]*fin[5]+fin[4]*alphavpar[5]); + out[16] += 0.9682458365518543*(alphavpar[12]*fin[15]+alphavpar[9]*fin[14]+alphavpar[8]*fin[13]+alphavpar[5]*fin[11]+alphavpar[4]*fin[10]+alphavpar[2]*fin[7]+alphavpar[1]*fin[6]+alphavpar[0]*fin[3]); + out[17] += 0.9682458365518543*(alphavpar[9]*fin[15]+alphavpar[12]*fin[14]+alphavpar[4]*fin[13]+alphavpar[2]*fin[11]+alphavpar[8]*fin[10]+alphavpar[5]*fin[7]+alphavpar[0]*fin[6]+alphavpar[1]*fin[3]); + out[18] += 0.9682458365518543*(alphavpar[8]*fin[15]+alphavpar[4]*fin[14]+alphavpar[12]*fin[13]+alphavpar[1]*fin[11]+alphavpar[9]*fin[10]+alphavpar[0]*fin[7]+alphavpar[5]*fin[6]+alphavpar[2]*fin[3]); + out[19] += 0.9682458365518543*(alphavpar[5]*fin[15]+alphavpar[2]*fin[14]+alphavpar[1]*fin[13]+fin[11]*alphavpar[12]+alphavpar[0]*fin[10]+fin[7]*alphavpar[9]+fin[6]*alphavpar[8]+fin[3]*alphavpar[4]); + out[20] += 0.9682458365518543*(alphavpar[4]*fin[15]+alphavpar[8]*fin[14]+alphavpar[9]*fin[13]+fin[10]*alphavpar[12]+alphavpar[0]*fin[11]+alphavpar[1]*fin[7]+alphavpar[2]*fin[6]+fin[3]*alphavpar[5]); + out[21] += 0.9682458365518543*(alphavpar[2]*fin[15]+alphavpar[5]*fin[14]+alphavpar[0]*fin[13]+fin[7]*alphavpar[12]+alphavpar[9]*fin[11]+alphavpar[1]*fin[10]+fin[3]*alphavpar[8]+alphavpar[4]*fin[6]); + out[22] += 0.9682458365518543*(alphavpar[1]*fin[15]+alphavpar[0]*fin[14]+alphavpar[5]*fin[13]+fin[6]*alphavpar[12]+alphavpar[8]*fin[11]+alphavpar[2]*fin[10]+fin[3]*alphavpar[9]+alphavpar[4]*fin[7]); + out[23] += 0.9682458365518543*(alphavpar[0]*fin[15]+alphavpar[1]*fin[14]+alphavpar[2]*fin[13]+fin[3]*alphavpar[12]+alphavpar[4]*fin[11]+alphavpar[5]*fin[10]+fin[6]*alphavpar[9]+fin[7]*alphavpar[8]); + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c new file mode 100644 index 0000000000..705fe962bd --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c @@ -0,0 +1,239 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // bmag: magnetic field amplitude. + // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // b_i: covariant components of the field aligned unit vector. + // apar: parallel component of magnetic vector potential. + // phi: electrostatic potential . + // fin: Distribution function. + // out: output increment. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + double rdmu2 = 2.0/dxv[4]; + + double rdvpar2Sq = rdvpar2*rdvpar2; + double dvparSq = dxv[3]*dxv[3]; + + const double *b_x = &b_i[0]; + const double *b_y = &b_i[8]; + const double *b_z = &b_i[16]; + + double hamil[48] = {0.}; + hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_; + hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[4] = 2.0*vmapSq[1]*m_; + hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[6] = 2.0*phi[4]*q_; + hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; + hamil[8] = 2.0*phi[6]*q_; + hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 2.0*phi[7]*q_; + hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; + hamil[32] = 2.0*vmapSq[2]*m_; + + double vmap2 = vmap[1]*vmap[1]; + + double hamil2[2] = {0.}; + hamil2[0] = hamil[4]*hamil[4]; + hamil2[1] = hamil[32]*hamil[32]; + + double alphax[48] = {0.}; + alphax[0] = (((-(0.21650635094610965*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]-0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]+0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[1] = (((-(0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*apar[3]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_z[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]+0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[2] = ((-(0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]-0.21650635094610965*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[3] = (((-(0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[4] = (((-(0.4841229182759271*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[6] = ((-(0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7])-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[7] = (((-(0.19485571585149863*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.19485571585149863*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[3]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]+0.19485571585149863*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[2]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[8] = ((-(0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[9] = (((-(0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.43571062644833425*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]+0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[10] = ((-(0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]-0.4841229182759271*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[11] = (((-(0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]+0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[16] = ((-(0.19485571585149863*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[17] = ((-(0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[18] = (((-(0.43571062644833425*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.7842791276070014*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]+0.43571062644833425*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[19] = ((-(0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[26] = ((-(0.43571062644833425*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + + + out[1] += 0.3061862178478971*(alphax[26]*fin[26]+alphax[19]*fin[19]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[16]*fin[16]+alphax[11]*fin[11]+alphax[10]*fin[10]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); + out[6] += 0.3061862178478971*(alphax[18]*fin[26]+fin[18]*alphax[26]+alphax[11]*fin[19]+fin[11]*alphax[19]+alphax[9]*fin[17]+fin[9]*alphax[17]+alphax[7]*fin[16]+fin[7]*alphax[16]+alphax[4]*fin[10]+fin[4]*alphax[10]+alphax[3]*fin[8]+fin[3]*alphax[8]+alphax[1]*fin[6]+fin[1]*alphax[6]+alphax[0]*fin[2]+fin[0]*alphax[2]); + out[7] += 0.3061862178478971*(alphax[17]*fin[26]+fin[17]*alphax[26]+alphax[10]*fin[19]+fin[10]*alphax[19]+alphax[9]*fin[18]+fin[9]*alphax[18]+alphax[6]*fin[16]+fin[6]*alphax[16]+alphax[4]*fin[11]+fin[4]*alphax[11]+alphax[2]*fin[8]+fin[2]*alphax[8]+alphax[1]*fin[7]+fin[1]*alphax[7]+alphax[0]*fin[3]+fin[0]*alphax[3]); + out[9] += 0.27386127875258304*alphax[26]*fin[43]+0.273861278752583*(alphax[19]*fin[39]+alphax[18]*fin[38]+alphax[17]*fin[37])+0.27386127875258304*(alphax[11]*fin[35]+alphax[10]*fin[34]+alphax[9]*fin[33])+0.273861278752583*alphax[4]*fin[32]+0.3061862178478971*(alphax[16]*fin[26]+fin[16]*alphax[26]+alphax[8]*fin[19]+fin[8]*alphax[19]+alphax[7]*fin[18]+fin[7]*alphax[18]+alphax[6]*fin[17]+fin[6]*alphax[17]+alphax[3]*fin[11]+fin[3]*alphax[11]+alphax[2]*fin[10]+fin[2]*alphax[10]+alphax[1]*fin[9]+fin[1]*alphax[9]+alphax[0]*fin[4]+fin[0]*alphax[4]); + out[12] += 0.3061862178478971*(alphax[26]*fin[31]+alphax[19]*fin[30]+alphax[18]*fin[29]+alphax[17]*fin[28]+alphax[16]*fin[27]+alphax[11]*fin[25]+alphax[10]*fin[24]+alphax[9]*fin[23]+alphax[8]*fin[22]+alphax[7]*fin[21]+alphax[6]*fin[20]+alphax[4]*fin[15]+alphax[3]*fin[14]+alphax[2]*fin[13]+alphax[1]*fin[12]+alphax[0]*fin[5]); + out[16] += 0.3061862178478971*(alphax[9]*fin[26]+fin[9]*alphax[26]+alphax[4]*fin[19]+fin[4]*alphax[19]+alphax[17]*fin[18]+fin[17]*alphax[18]+alphax[1]*fin[16]+fin[1]*alphax[16]+alphax[10]*fin[11]+fin[10]*alphax[11]+alphax[0]*fin[8]+fin[0]*alphax[8]+alphax[6]*fin[7]+fin[6]*alphax[7]+alphax[2]*fin[3]+fin[2]*alphax[3]); + out[17] += 0.27386127875258304*alphax[18]*fin[43]+0.273861278752583*(alphax[11]*fin[39]+alphax[26]*fin[38]+alphax[9]*fin[37])+0.27386127875258304*(alphax[19]*fin[35]+alphax[4]*fin[34]+alphax[17]*fin[33])+0.273861278752583*alphax[10]*fin[32]+0.3061862178478971*(alphax[7]*fin[26]+fin[7]*alphax[26]+alphax[3]*fin[19]+fin[3]*alphax[19]+alphax[16]*fin[18]+fin[16]*alphax[18]+alphax[1]*fin[17]+fin[1]*alphax[17]+alphax[8]*fin[11]+fin[8]*alphax[11]+alphax[0]*fin[10]+fin[0]*alphax[10]+alphax[6]*fin[9]+fin[6]*alphax[9]+alphax[2]*fin[4]+fin[2]*alphax[4]); + out[18] += 0.27386127875258304*alphax[17]*fin[43]+0.273861278752583*(alphax[10]*fin[39]+alphax[9]*fin[38]+alphax[26]*fin[37])+0.27386127875258304*(alphax[4]*fin[35]+alphax[19]*fin[34]+alphax[18]*fin[33])+0.273861278752583*alphax[11]*fin[32]+0.3061862178478971*(alphax[6]*fin[26]+fin[6]*alphax[26]+alphax[2]*fin[19]+fin[2]*alphax[19]+alphax[1]*fin[18]+fin[1]*alphax[18]+alphax[16]*fin[17]+fin[16]*alphax[17]+alphax[0]*fin[11]+fin[0]*alphax[11]+alphax[8]*fin[10]+fin[8]*alphax[10]+alphax[7]*fin[9]+fin[7]*alphax[9]+alphax[3]*fin[4]+fin[3]*alphax[4]); + out[20] += 0.3061862178478971*(alphax[18]*fin[31]+alphax[11]*fin[30]+alphax[26]*fin[29]+alphax[9]*fin[28]+alphax[7]*fin[27]+alphax[19]*fin[25]+alphax[4]*fin[24]+alphax[17]*fin[23]+alphax[3]*fin[22]+alphax[16]*fin[21]+alphax[1]*fin[20]+alphax[10]*fin[15]+alphax[8]*fin[14]+alphax[0]*fin[13]+alphax[6]*fin[12]+alphax[2]*fin[5]); + out[21] += 0.3061862178478971*(alphax[17]*fin[31]+alphax[10]*fin[30]+alphax[9]*fin[29]+alphax[26]*fin[28]+alphax[6]*fin[27]+alphax[4]*fin[25]+alphax[19]*fin[24]+alphax[18]*fin[23]+alphax[2]*fin[22]+alphax[1]*fin[21]+alphax[16]*fin[20]+alphax[11]*fin[15]+alphax[0]*fin[14]+alphax[8]*fin[13]+alphax[7]*fin[12]+alphax[3]*fin[5]); + out[23] += 0.273861278752583*alphax[26]*fin[47]+0.27386127875258304*(alphax[19]*fin[46]+alphax[18]*fin[45]+alphax[17]*fin[44])+0.273861278752583*(alphax[11]*fin[42]+alphax[10]*fin[41]+alphax[9]*fin[40])+0.27386127875258304*alphax[4]*fin[36]+0.3061862178478971*(alphax[16]*fin[31]+alphax[8]*fin[30]+alphax[7]*fin[29]+alphax[6]*fin[28]+alphax[26]*fin[27]+alphax[3]*fin[25]+alphax[2]*fin[24]+alphax[1]*fin[23]+alphax[19]*fin[22]+alphax[18]*fin[21]+alphax[17]*fin[20]+alphax[0]*fin[15]+alphax[11]*fin[14]+alphax[10]*fin[13]+alphax[9]*fin[12]+alphax[4]*fin[5]); + out[26] += 0.27386127875258304*alphax[9]*fin[43]+0.273861278752583*(alphax[4]*fin[39]+alphax[17]*fin[38]+alphax[18]*fin[37])+0.27386127875258304*(alphax[10]*fin[35]+alphax[11]*fin[34]+alphax[26]*fin[33])+0.273861278752583*alphax[19]*fin[32]+0.3061862178478971*(alphax[1]*fin[26]+fin[1]*alphax[26]+alphax[0]*fin[19]+fin[0]*alphax[19]+alphax[6]*fin[18]+fin[6]*alphax[18]+alphax[7]*fin[17]+fin[7]*alphax[17]+alphax[9]*fin[16]+fin[9]*alphax[16]+alphax[2]*fin[11]+fin[2]*alphax[11]+alphax[3]*fin[10]+fin[3]*alphax[10]+alphax[4]*fin[8]+fin[4]*alphax[8]); + out[27] += 0.3061862178478971*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[17]*fin[29]+alphax[18]*fin[28]+alphax[1]*fin[27]+fin[23]*alphax[26]+alphax[10]*fin[25]+alphax[11]*fin[24]+alphax[0]*fin[22]+alphax[6]*fin[21]+alphax[7]*fin[20]+fin[15]*alphax[19]+fin[12]*alphax[16]+alphax[2]*fin[14]+alphax[3]*fin[13]+fin[5]*alphax[8]); + out[28] += 0.273861278752583*alphax[18]*fin[47]+0.27386127875258304*(alphax[11]*fin[46]+alphax[26]*fin[45]+alphax[9]*fin[44])+0.273861278752583*(alphax[19]*fin[42]+alphax[4]*fin[41]+alphax[17]*fin[40])+0.27386127875258304*alphax[10]*fin[36]+0.3061862178478971*(alphax[7]*fin[31]+alphax[3]*fin[30]+alphax[16]*fin[29]+alphax[1]*fin[28]+alphax[18]*fin[27]+fin[21]*alphax[26]+alphax[8]*fin[25]+alphax[0]*fin[24]+alphax[6]*fin[23]+alphax[11]*fin[22]+alphax[9]*fin[20]+fin[14]*alphax[19]+fin[12]*alphax[17]+alphax[2]*fin[15]+alphax[4]*fin[13]+fin[5]*alphax[10]); + out[29] += 0.273861278752583*alphax[17]*fin[47]+0.27386127875258304*(alphax[10]*fin[46]+alphax[9]*fin[45]+alphax[26]*fin[44])+0.273861278752583*(alphax[4]*fin[42]+alphax[19]*fin[41]+alphax[18]*fin[40])+0.27386127875258304*alphax[11]*fin[36]+0.3061862178478971*(alphax[6]*fin[31]+alphax[2]*fin[30]+alphax[1]*fin[29]+alphax[16]*fin[28]+alphax[17]*fin[27]+fin[20]*alphax[26]+alphax[0]*fin[25]+alphax[8]*fin[24]+alphax[7]*fin[23]+alphax[10]*fin[22]+alphax[9]*fin[21]+fin[13]*alphax[19]+fin[12]*alphax[18]+alphax[3]*fin[15]+alphax[4]*fin[14]+fin[5]*alphax[11]); + out[31] += 0.273861278752583*alphax[9]*fin[47]+0.27386127875258304*(alphax[4]*fin[46]+alphax[17]*fin[45]+alphax[18]*fin[44])+0.273861278752583*(alphax[10]*fin[42]+alphax[11]*fin[41]+alphax[26]*fin[40])+0.27386127875258304*alphax[19]*fin[36]+0.3061862178478971*(alphax[1]*fin[31]+alphax[0]*fin[30]+alphax[6]*fin[29]+alphax[7]*fin[28]+alphax[9]*fin[27]+fin[12]*alphax[26]+alphax[2]*fin[25]+alphax[3]*fin[24]+alphax[16]*fin[23]+alphax[4]*fin[22]+alphax[17]*fin[21]+alphax[18]*fin[20]+fin[5]*alphax[19]+alphax[8]*fin[15]+alphax[10]*fin[14]+alphax[11]*fin[13]); + out[33] += 0.3061862178478971*(alphax[16]*fin[43]+alphax[8]*fin[39]+alphax[7]*fin[38]+alphax[6]*fin[37]+alphax[3]*fin[35]+alphax[2]*fin[34]+alphax[1]*fin[33]+alphax[0]*fin[32])+0.27386127875258304*(alphax[26]*fin[26]+alphax[19]*fin[19]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[11]*fin[11]+alphax[10]*fin[10]+alphax[9]*fin[9]+alphax[4]*fin[4]); + out[37] += 0.3061862178478971*(alphax[7]*fin[43]+alphax[3]*fin[39]+alphax[16]*fin[38]+alphax[1]*fin[37]+alphax[8]*fin[35]+alphax[0]*fin[34]+alphax[6]*fin[33]+alphax[2]*fin[32])+0.273861278752583*(alphax[18]*fin[26]+fin[18]*alphax[26]+alphax[11]*fin[19]+fin[11]*alphax[19]+alphax[9]*fin[17]+fin[9]*alphax[17]+alphax[4]*fin[10]+fin[4]*alphax[10]); + out[38] += 0.3061862178478971*(alphax[6]*fin[43]+alphax[2]*fin[39]+alphax[1]*fin[38]+alphax[16]*fin[37]+alphax[0]*fin[35]+alphax[8]*fin[34]+alphax[7]*fin[33]+alphax[3]*fin[32])+0.273861278752583*(alphax[17]*fin[26]+fin[17]*alphax[26]+alphax[10]*fin[19]+fin[10]*alphax[19]+alphax[9]*fin[18]+fin[9]*alphax[18]+alphax[4]*fin[11]+fin[4]*alphax[11]); + out[40] += 0.3061862178478971*(alphax[16]*fin[47]+alphax[8]*fin[46]+alphax[7]*fin[45]+alphax[6]*fin[44]+alphax[3]*fin[42]+alphax[2]*fin[41]+alphax[1]*fin[40]+alphax[0]*fin[36])+0.273861278752583*(alphax[26]*fin[31]+alphax[19]*fin[30]+alphax[18]*fin[29]+alphax[17]*fin[28]+alphax[11]*fin[25]+alphax[10]*fin[24]+alphax[9]*fin[23]+alphax[4]*fin[15]); + out[43] += 0.3061862178478971*(alphax[1]*fin[43]+alphax[0]*fin[39]+alphax[6]*fin[38]+alphax[7]*fin[37]+alphax[2]*fin[35]+alphax[3]*fin[34]+alphax[16]*fin[33]+alphax[8]*fin[32])+0.27386127875258304*(alphax[9]*fin[26]+fin[9]*alphax[26]+alphax[4]*fin[19]+fin[4]*alphax[19]+alphax[17]*fin[18]+fin[17]*alphax[18]+alphax[10]*fin[11]+fin[10]*alphax[11]); + out[44] += 0.3061862178478971*(alphax[7]*fin[47]+alphax[3]*fin[46]+alphax[16]*fin[45]+alphax[1]*fin[44]+alphax[8]*fin[42]+alphax[0]*fin[41]+alphax[6]*fin[40]+alphax[2]*fin[36])+0.27386127875258304*(alphax[18]*fin[31]+alphax[11]*fin[30]+alphax[26]*fin[29]+alphax[9]*fin[28]+alphax[19]*fin[25]+alphax[4]*fin[24]+alphax[17]*fin[23]+alphax[10]*fin[15]); + out[45] += 0.3061862178478971*(alphax[6]*fin[47]+alphax[2]*fin[46]+alphax[1]*fin[45]+alphax[16]*fin[44]+alphax[0]*fin[42]+alphax[8]*fin[41]+alphax[7]*fin[40]+alphax[3]*fin[36])+0.27386127875258304*(alphax[17]*fin[31]+alphax[10]*fin[30]+alphax[9]*fin[29]+alphax[26]*fin[28]+alphax[4]*fin[25]+alphax[19]*fin[24]+alphax[18]*fin[23]+alphax[11]*fin[15]); + out[47] += 0.3061862178478971*(alphax[1]*fin[47]+alphax[0]*fin[46]+alphax[6]*fin[45]+alphax[7]*fin[44]+alphax[2]*fin[42]+alphax[3]*fin[41]+alphax[16]*fin[40]+alphax[8]*fin[36])+0.273861278752583*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[17]*fin[29]+alphax[18]*fin[28]+fin[23]*alphax[26]+alphax[10]*fin[25]+alphax[11]*fin[24]+fin[15]*alphax[19]); + + double alphay[48] = {0.}; + alphay[0] = (((0.21650635094610965*apar[3]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*b_x[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[5]+0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[4]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*apar[1]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*b_z[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[1] = (((0.38971143170299727*hamil[4]*apar[5]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*apar[3]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_x[5]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[0]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.10825317547305482*b_z[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_z[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[2] = (((0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]+0.21650635094610965*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[3] = (((0.10825317547305482*apar[0]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*apar[5]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*apar[1]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_z[5]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[4] = (((0.4841229182759271*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[6] = (((0.38971143170299727*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[7] = (((0.19485571585149863*apar[1]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[3]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[3]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.19485571585149863*b_z[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*apar[1]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[5]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[8] = (((0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]-0.21650635094610965*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[9] = (((0.8714212528966685*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.43571062644833425*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[10] = (((0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]+0.4841229182759271*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[11] = (((0.24206145913796356*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[32]-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[16] = (((0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[17] = (((0.8714212528966685*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[18] = (((0.43571062644833425*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[19] = (((0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]-0.4841229182759271*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[26] = (((0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]-0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + + + out[2] += 0.3061862178478971*(alphay[26]*fin[26]+alphay[19]*fin[19]+alphay[18]*fin[18]+alphay[17]*fin[17]+alphay[16]*fin[16]+alphay[11]*fin[11]+alphay[10]*fin[10]+alphay[9]*fin[9]+alphay[8]*fin[8]+alphay[7]*fin[7]+alphay[6]*fin[6]+alphay[4]*fin[4]+alphay[3]*fin[3]+alphay[2]*fin[2]+alphay[1]*fin[1]+alphay[0]*fin[0]); + out[6] += 0.3061862178478971*(alphay[19]*fin[26]+fin[19]*alphay[26]+alphay[11]*fin[18]+fin[11]*alphay[18]+alphay[10]*fin[17]+fin[10]*alphay[17]+alphay[8]*fin[16]+fin[8]*alphay[16]+alphay[4]*fin[9]+fin[4]*alphay[9]+alphay[3]*fin[7]+fin[3]*alphay[7]+alphay[2]*fin[6]+fin[2]*alphay[6]+alphay[0]*fin[1]+fin[0]*alphay[1]); + out[8] += 0.3061862178478971*(alphay[17]*fin[26]+fin[17]*alphay[26]+alphay[10]*fin[19]+fin[10]*alphay[19]+alphay[9]*fin[18]+fin[9]*alphay[18]+alphay[6]*fin[16]+fin[6]*alphay[16]+alphay[4]*fin[11]+fin[4]*alphay[11]+alphay[2]*fin[8]+fin[2]*alphay[8]+alphay[1]*fin[7]+fin[1]*alphay[7]+alphay[0]*fin[3]+fin[0]*alphay[3]); + out[10] += 0.27386127875258304*alphay[26]*fin[43]+0.273861278752583*(alphay[19]*fin[39]+alphay[18]*fin[38]+alphay[17]*fin[37])+0.27386127875258304*(alphay[11]*fin[35]+alphay[10]*fin[34]+alphay[9]*fin[33])+0.273861278752583*alphay[4]*fin[32]+0.3061862178478971*(alphay[16]*fin[26]+fin[16]*alphay[26]+alphay[8]*fin[19]+fin[8]*alphay[19]+alphay[7]*fin[18]+fin[7]*alphay[18]+alphay[6]*fin[17]+fin[6]*alphay[17]+alphay[3]*fin[11]+fin[3]*alphay[11]+alphay[2]*fin[10]+fin[2]*alphay[10]+alphay[1]*fin[9]+fin[1]*alphay[9]+alphay[0]*fin[4]+fin[0]*alphay[4]); + out[13] += 0.3061862178478971*(alphay[26]*fin[31]+alphay[19]*fin[30]+alphay[18]*fin[29]+alphay[17]*fin[28]+alphay[16]*fin[27]+alphay[11]*fin[25]+alphay[10]*fin[24]+alphay[9]*fin[23]+alphay[8]*fin[22]+alphay[7]*fin[21]+alphay[6]*fin[20]+alphay[4]*fin[15]+alphay[3]*fin[14]+alphay[2]*fin[13]+alphay[1]*fin[12]+alphay[0]*fin[5]); + out[16] += 0.3061862178478971*(alphay[10]*fin[26]+fin[10]*alphay[26]+alphay[17]*fin[19]+fin[17]*alphay[19]+alphay[4]*fin[18]+fin[4]*alphay[18]+alphay[2]*fin[16]+fin[2]*alphay[16]+alphay[9]*fin[11]+fin[9]*alphay[11]+alphay[6]*fin[8]+fin[6]*alphay[8]+alphay[0]*fin[7]+fin[0]*alphay[7]+alphay[1]*fin[3]+fin[1]*alphay[3]); + out[17] += 0.27386127875258304*alphay[19]*fin[43]+0.273861278752583*(alphay[26]*fin[39]+alphay[11]*fin[38]+alphay[10]*fin[37])+0.27386127875258304*(alphay[18]*fin[35]+alphay[17]*fin[34]+alphay[4]*fin[33])+0.273861278752583*alphay[9]*fin[32]+0.3061862178478971*(alphay[8]*fin[26]+fin[8]*alphay[26]+alphay[16]*fin[19]+fin[16]*alphay[19]+alphay[3]*fin[18]+fin[3]*alphay[18]+alphay[2]*fin[17]+fin[2]*alphay[17]+alphay[7]*fin[11]+fin[7]*alphay[11]+alphay[6]*fin[10]+fin[6]*alphay[10]+alphay[0]*fin[9]+fin[0]*alphay[9]+alphay[1]*fin[4]+fin[1]*alphay[4]); + out[19] += 0.27386127875258304*alphay[17]*fin[43]+0.273861278752583*(alphay[10]*fin[39]+alphay[9]*fin[38]+alphay[26]*fin[37])+0.27386127875258304*(alphay[4]*fin[35]+alphay[19]*fin[34]+alphay[18]*fin[33])+0.273861278752583*alphay[11]*fin[32]+0.3061862178478971*(alphay[6]*fin[26]+fin[6]*alphay[26]+alphay[2]*fin[19]+fin[2]*alphay[19]+alphay[1]*fin[18]+fin[1]*alphay[18]+alphay[16]*fin[17]+fin[16]*alphay[17]+alphay[0]*fin[11]+fin[0]*alphay[11]+alphay[8]*fin[10]+fin[8]*alphay[10]+alphay[7]*fin[9]+fin[7]*alphay[9]+alphay[3]*fin[4]+fin[3]*alphay[4]); + out[20] += 0.3061862178478971*(alphay[19]*fin[31]+alphay[26]*fin[30]+alphay[11]*fin[29]+alphay[10]*fin[28]+alphay[8]*fin[27]+alphay[18]*fin[25]+alphay[17]*fin[24]+alphay[4]*fin[23]+alphay[16]*fin[22]+alphay[3]*fin[21]+alphay[2]*fin[20]+alphay[9]*fin[15]+alphay[7]*fin[14]+alphay[6]*fin[13]+alphay[0]*fin[12]+alphay[1]*fin[5]); + out[22] += 0.3061862178478971*(alphay[17]*fin[31]+alphay[10]*fin[30]+alphay[9]*fin[29]+alphay[26]*fin[28]+alphay[6]*fin[27]+alphay[4]*fin[25]+alphay[19]*fin[24]+alphay[18]*fin[23]+alphay[2]*fin[22]+alphay[1]*fin[21]+alphay[16]*fin[20]+alphay[11]*fin[15]+alphay[0]*fin[14]+alphay[8]*fin[13]+alphay[7]*fin[12]+alphay[3]*fin[5]); + out[24] += 0.273861278752583*alphay[26]*fin[47]+0.27386127875258304*(alphay[19]*fin[46]+alphay[18]*fin[45]+alphay[17]*fin[44])+0.273861278752583*(alphay[11]*fin[42]+alphay[10]*fin[41]+alphay[9]*fin[40])+0.27386127875258304*alphay[4]*fin[36]+0.3061862178478971*(alphay[16]*fin[31]+alphay[8]*fin[30]+alphay[7]*fin[29]+alphay[6]*fin[28]+alphay[26]*fin[27]+alphay[3]*fin[25]+alphay[2]*fin[24]+alphay[1]*fin[23]+alphay[19]*fin[22]+alphay[18]*fin[21]+alphay[17]*fin[20]+alphay[0]*fin[15]+alphay[11]*fin[14]+alphay[10]*fin[13]+alphay[9]*fin[12]+alphay[4]*fin[5]); + out[26] += 0.27386127875258304*alphay[10]*fin[43]+0.273861278752583*(alphay[17]*fin[39]+alphay[4]*fin[38]+alphay[19]*fin[37])+0.27386127875258304*(alphay[9]*fin[35]+alphay[26]*fin[34]+alphay[11]*fin[33])+0.273861278752583*alphay[18]*fin[32]+0.3061862178478971*(alphay[2]*fin[26]+fin[2]*alphay[26]+alphay[6]*fin[19]+fin[6]*alphay[19]+alphay[0]*fin[18]+fin[0]*alphay[18]+alphay[8]*fin[17]+fin[8]*alphay[17]+alphay[10]*fin[16]+fin[10]*alphay[16]+alphay[1]*fin[11]+fin[1]*alphay[11]+alphay[3]*fin[9]+fin[3]*alphay[9]+alphay[4]*fin[7]+fin[4]*alphay[7]); + out[27] += 0.3061862178478971*(alphay[10]*fin[31]+alphay[17]*fin[30]+alphay[4]*fin[29]+alphay[19]*fin[28]+alphay[2]*fin[27]+fin[24]*alphay[26]+alphay[9]*fin[25]+alphay[11]*fin[23]+alphay[6]*fin[22]+alphay[0]*fin[21]+alphay[8]*fin[20]+fin[15]*alphay[18]+fin[13]*alphay[16]+alphay[1]*fin[14]+alphay[3]*fin[12]+fin[5]*alphay[7]); + out[28] += 0.273861278752583*alphay[19]*fin[47]+0.27386127875258304*(alphay[26]*fin[46]+alphay[11]*fin[45]+alphay[10]*fin[44])+0.273861278752583*(alphay[18]*fin[42]+alphay[17]*fin[41]+alphay[4]*fin[40])+0.27386127875258304*alphay[9]*fin[36]+0.3061862178478971*(alphay[8]*fin[31]+alphay[16]*fin[30]+alphay[3]*fin[29]+alphay[2]*fin[28]+alphay[19]*fin[27]+fin[22]*alphay[26]+alphay[7]*fin[25]+alphay[6]*fin[24]+alphay[0]*fin[23]+alphay[11]*fin[21]+alphay[10]*fin[20]+fin[14]*alphay[18]+fin[13]*alphay[17]+alphay[1]*fin[15]+alphay[4]*fin[12]+fin[5]*alphay[9]); + out[30] += 0.273861278752583*alphay[17]*fin[47]+0.27386127875258304*(alphay[10]*fin[46]+alphay[9]*fin[45]+alphay[26]*fin[44])+0.273861278752583*(alphay[4]*fin[42]+alphay[19]*fin[41]+alphay[18]*fin[40])+0.27386127875258304*alphay[11]*fin[36]+0.3061862178478971*(alphay[6]*fin[31]+alphay[2]*fin[30]+alphay[1]*fin[29]+alphay[16]*fin[28]+alphay[17]*fin[27]+fin[20]*alphay[26]+alphay[0]*fin[25]+alphay[8]*fin[24]+alphay[7]*fin[23]+alphay[10]*fin[22]+alphay[9]*fin[21]+fin[13]*alphay[19]+fin[12]*alphay[18]+alphay[3]*fin[15]+alphay[4]*fin[14]+fin[5]*alphay[11]); + out[31] += 0.273861278752583*alphay[10]*fin[47]+0.27386127875258304*(alphay[17]*fin[46]+alphay[4]*fin[45]+alphay[19]*fin[44])+0.273861278752583*(alphay[9]*fin[42]+alphay[26]*fin[41]+alphay[11]*fin[40])+0.27386127875258304*alphay[18]*fin[36]+0.3061862178478971*(alphay[2]*fin[31]+alphay[6]*fin[30]+alphay[0]*fin[29]+alphay[8]*fin[28]+alphay[10]*fin[27]+fin[13]*alphay[26]+alphay[1]*fin[25]+alphay[16]*fin[24]+alphay[3]*fin[23]+alphay[17]*fin[22]+alphay[4]*fin[21]+alphay[19]*fin[20]+fin[5]*alphay[18]+alphay[7]*fin[15]+alphay[9]*fin[14]+alphay[11]*fin[12]); + out[34] += 0.3061862178478971*(alphay[16]*fin[43]+alphay[8]*fin[39]+alphay[7]*fin[38]+alphay[6]*fin[37]+alphay[3]*fin[35]+alphay[2]*fin[34]+alphay[1]*fin[33]+alphay[0]*fin[32])+0.27386127875258304*(alphay[26]*fin[26]+alphay[19]*fin[19]+alphay[18]*fin[18]+alphay[17]*fin[17]+alphay[11]*fin[11]+alphay[10]*fin[10]+alphay[9]*fin[9]+alphay[4]*fin[4]); + out[37] += 0.3061862178478971*(alphay[8]*fin[43]+alphay[16]*fin[39]+alphay[3]*fin[38]+alphay[2]*fin[37]+alphay[7]*fin[35]+alphay[6]*fin[34]+alphay[0]*fin[33]+alphay[1]*fin[32])+0.273861278752583*(alphay[19]*fin[26]+fin[19]*alphay[26]+alphay[11]*fin[18]+fin[11]*alphay[18]+alphay[10]*fin[17]+fin[10]*alphay[17]+alphay[4]*fin[9]+fin[4]*alphay[9]); + out[39] += 0.3061862178478971*(alphay[6]*fin[43]+alphay[2]*fin[39]+alphay[1]*fin[38]+alphay[16]*fin[37]+alphay[0]*fin[35]+alphay[8]*fin[34]+alphay[7]*fin[33]+alphay[3]*fin[32])+0.273861278752583*(alphay[17]*fin[26]+fin[17]*alphay[26]+alphay[10]*fin[19]+fin[10]*alphay[19]+alphay[9]*fin[18]+fin[9]*alphay[18]+alphay[4]*fin[11]+fin[4]*alphay[11]); + out[41] += 0.3061862178478971*(alphay[16]*fin[47]+alphay[8]*fin[46]+alphay[7]*fin[45]+alphay[6]*fin[44]+alphay[3]*fin[42]+alphay[2]*fin[41]+alphay[1]*fin[40]+alphay[0]*fin[36])+0.273861278752583*(alphay[26]*fin[31]+alphay[19]*fin[30]+alphay[18]*fin[29]+alphay[17]*fin[28]+alphay[11]*fin[25]+alphay[10]*fin[24]+alphay[9]*fin[23]+alphay[4]*fin[15]); + out[43] += 0.3061862178478971*(alphay[2]*fin[43]+alphay[6]*fin[39]+alphay[0]*fin[38]+alphay[8]*fin[37]+alphay[1]*fin[35]+alphay[16]*fin[34]+alphay[3]*fin[33]+alphay[7]*fin[32])+0.27386127875258304*(alphay[10]*fin[26]+fin[10]*alphay[26]+alphay[17]*fin[19]+fin[17]*alphay[19]+alphay[4]*fin[18]+fin[4]*alphay[18]+alphay[9]*fin[11]+fin[9]*alphay[11]); + out[44] += 0.3061862178478971*(alphay[8]*fin[47]+alphay[16]*fin[46]+alphay[3]*fin[45]+alphay[2]*fin[44]+alphay[7]*fin[42]+alphay[6]*fin[41]+alphay[0]*fin[40]+alphay[1]*fin[36])+0.27386127875258304*(alphay[19]*fin[31]+alphay[26]*fin[30]+alphay[11]*fin[29]+alphay[10]*fin[28]+alphay[18]*fin[25]+alphay[17]*fin[24]+alphay[4]*fin[23]+alphay[9]*fin[15]); + out[46] += 0.3061862178478971*(alphay[6]*fin[47]+alphay[2]*fin[46]+alphay[1]*fin[45]+alphay[16]*fin[44]+alphay[0]*fin[42]+alphay[8]*fin[41]+alphay[7]*fin[40]+alphay[3]*fin[36])+0.27386127875258304*(alphay[17]*fin[31]+alphay[10]*fin[30]+alphay[9]*fin[29]+alphay[26]*fin[28]+alphay[4]*fin[25]+alphay[19]*fin[24]+alphay[18]*fin[23]+alphay[11]*fin[15]); + out[47] += 0.3061862178478971*(alphay[2]*fin[47]+alphay[6]*fin[46]+alphay[0]*fin[45]+alphay[8]*fin[44]+alphay[1]*fin[42]+alphay[16]*fin[41]+alphay[3]*fin[40]+alphay[7]*fin[36])+0.273861278752583*(alphay[10]*fin[31]+alphay[17]*fin[30]+alphay[4]*fin[29]+alphay[19]*fin[28]+fin[24]*alphay[26]+alphay[9]*fin[25]+alphay[11]*fin[23]+fin[15]*alphay[18]); + + double alphaz[48] = {0.}; + alphaz[0] = (((-(0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[4]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.21650635094610965*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[1] = (((-(0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[2] = ((0.21650635094610965*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[3] = (((-(0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[4] = (((-(0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.4841229182759271*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[6] = ((0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[7] = (((-(0.35074028853269745*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]-0.19485571585149863*b_x[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*apar[2]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*apar[1]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[8] = ((0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]+0.21650635094610965*b_y[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[9] = (((-(0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]-0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[10] = ((0.4841229182759271*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[11] = (((-(0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]-0.43571062644833425*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[16] = ((0.19485571585149863*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_y[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[17] = ((0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[18] = (((-(0.7842791276070014*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]-0.43571062644833425*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.43571062644833425*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[19] = ((0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]+0.4841229182759271*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[26] = ((0.43571062644833425*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]+0.43571062644833425*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + + + out[3] += 0.3061862178478971*(alphaz[26]*fin[26]+alphaz[19]*fin[19]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[16]*fin[16]+alphaz[11]*fin[11]+alphaz[10]*fin[10]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); + out[7] += 0.3061862178478971*(alphaz[19]*fin[26]+fin[19]*alphaz[26]+alphaz[11]*fin[18]+fin[11]*alphaz[18]+alphaz[10]*fin[17]+fin[10]*alphaz[17]+alphaz[8]*fin[16]+fin[8]*alphaz[16]+alphaz[4]*fin[9]+fin[4]*alphaz[9]+alphaz[3]*fin[7]+fin[3]*alphaz[7]+alphaz[2]*fin[6]+fin[2]*alphaz[6]+alphaz[0]*fin[1]+fin[0]*alphaz[1]); + out[8] += 0.3061862178478971*(alphaz[18]*fin[26]+fin[18]*alphaz[26]+alphaz[11]*fin[19]+fin[11]*alphaz[19]+alphaz[9]*fin[17]+fin[9]*alphaz[17]+alphaz[7]*fin[16]+fin[7]*alphaz[16]+alphaz[4]*fin[10]+fin[4]*alphaz[10]+alphaz[3]*fin[8]+fin[3]*alphaz[8]+alphaz[1]*fin[6]+fin[1]*alphaz[6]+alphaz[0]*fin[2]+fin[0]*alphaz[2]); + out[11] += 0.27386127875258304*alphaz[26]*fin[43]+0.273861278752583*(alphaz[19]*fin[39]+alphaz[18]*fin[38]+alphaz[17]*fin[37])+0.27386127875258304*(alphaz[11]*fin[35]+alphaz[10]*fin[34]+alphaz[9]*fin[33])+0.273861278752583*alphaz[4]*fin[32]+0.3061862178478971*(alphaz[16]*fin[26]+fin[16]*alphaz[26]+alphaz[8]*fin[19]+fin[8]*alphaz[19]+alphaz[7]*fin[18]+fin[7]*alphaz[18]+alphaz[6]*fin[17]+fin[6]*alphaz[17]+alphaz[3]*fin[11]+fin[3]*alphaz[11]+alphaz[2]*fin[10]+fin[2]*alphaz[10]+alphaz[1]*fin[9]+fin[1]*alphaz[9]+alphaz[0]*fin[4]+fin[0]*alphaz[4]); + out[14] += 0.3061862178478971*(alphaz[26]*fin[31]+alphaz[19]*fin[30]+alphaz[18]*fin[29]+alphaz[17]*fin[28]+alphaz[16]*fin[27]+alphaz[11]*fin[25]+alphaz[10]*fin[24]+alphaz[9]*fin[23]+alphaz[8]*fin[22]+alphaz[7]*fin[21]+alphaz[6]*fin[20]+alphaz[4]*fin[15]+alphaz[3]*fin[14]+alphaz[2]*fin[13]+alphaz[1]*fin[12]+alphaz[0]*fin[5]); + out[16] += 0.3061862178478971*(alphaz[11]*fin[26]+fin[11]*alphaz[26]+alphaz[18]*fin[19]+fin[18]*alphaz[19]+alphaz[4]*fin[17]+fin[4]*alphaz[17]+alphaz[3]*fin[16]+fin[3]*alphaz[16]+alphaz[9]*fin[10]+fin[9]*alphaz[10]+alphaz[7]*fin[8]+fin[7]*alphaz[8]+alphaz[0]*fin[6]+fin[0]*alphaz[6]+alphaz[1]*fin[2]+fin[1]*alphaz[2]); + out[18] += 0.27386127875258304*alphaz[19]*fin[43]+0.273861278752583*(alphaz[26]*fin[39]+alphaz[11]*fin[38]+alphaz[10]*fin[37])+0.27386127875258304*(alphaz[18]*fin[35]+alphaz[17]*fin[34]+alphaz[4]*fin[33])+0.273861278752583*alphaz[9]*fin[32]+0.3061862178478971*(alphaz[8]*fin[26]+fin[8]*alphaz[26]+alphaz[16]*fin[19]+fin[16]*alphaz[19]+alphaz[3]*fin[18]+fin[3]*alphaz[18]+alphaz[2]*fin[17]+fin[2]*alphaz[17]+alphaz[7]*fin[11]+fin[7]*alphaz[11]+alphaz[6]*fin[10]+fin[6]*alphaz[10]+alphaz[0]*fin[9]+fin[0]*alphaz[9]+alphaz[1]*fin[4]+fin[1]*alphaz[4]); + out[19] += 0.27386127875258304*alphaz[18]*fin[43]+0.273861278752583*(alphaz[11]*fin[39]+alphaz[26]*fin[38]+alphaz[9]*fin[37])+0.27386127875258304*(alphaz[19]*fin[35]+alphaz[4]*fin[34]+alphaz[17]*fin[33])+0.273861278752583*alphaz[10]*fin[32]+0.3061862178478971*(alphaz[7]*fin[26]+fin[7]*alphaz[26]+alphaz[3]*fin[19]+fin[3]*alphaz[19]+alphaz[16]*fin[18]+fin[16]*alphaz[18]+alphaz[1]*fin[17]+fin[1]*alphaz[17]+alphaz[8]*fin[11]+fin[8]*alphaz[11]+alphaz[0]*fin[10]+fin[0]*alphaz[10]+alphaz[6]*fin[9]+fin[6]*alphaz[9]+alphaz[2]*fin[4]+fin[2]*alphaz[4]); + out[21] += 0.3061862178478971*(alphaz[19]*fin[31]+alphaz[26]*fin[30]+alphaz[11]*fin[29]+alphaz[10]*fin[28]+alphaz[8]*fin[27]+alphaz[18]*fin[25]+alphaz[17]*fin[24]+alphaz[4]*fin[23]+alphaz[16]*fin[22]+alphaz[3]*fin[21]+alphaz[2]*fin[20]+alphaz[9]*fin[15]+alphaz[7]*fin[14]+alphaz[6]*fin[13]+alphaz[0]*fin[12]+alphaz[1]*fin[5]); + out[22] += 0.3061862178478971*(alphaz[18]*fin[31]+alphaz[11]*fin[30]+alphaz[26]*fin[29]+alphaz[9]*fin[28]+alphaz[7]*fin[27]+alphaz[19]*fin[25]+alphaz[4]*fin[24]+alphaz[17]*fin[23]+alphaz[3]*fin[22]+alphaz[16]*fin[21]+alphaz[1]*fin[20]+alphaz[10]*fin[15]+alphaz[8]*fin[14]+alphaz[0]*fin[13]+alphaz[6]*fin[12]+alphaz[2]*fin[5]); + out[25] += 0.273861278752583*alphaz[26]*fin[47]+0.27386127875258304*(alphaz[19]*fin[46]+alphaz[18]*fin[45]+alphaz[17]*fin[44])+0.273861278752583*(alphaz[11]*fin[42]+alphaz[10]*fin[41]+alphaz[9]*fin[40])+0.27386127875258304*alphaz[4]*fin[36]+0.3061862178478971*(alphaz[16]*fin[31]+alphaz[8]*fin[30]+alphaz[7]*fin[29]+alphaz[6]*fin[28]+alphaz[26]*fin[27]+alphaz[3]*fin[25]+alphaz[2]*fin[24]+alphaz[1]*fin[23]+alphaz[19]*fin[22]+alphaz[18]*fin[21]+alphaz[17]*fin[20]+alphaz[0]*fin[15]+alphaz[11]*fin[14]+alphaz[10]*fin[13]+alphaz[9]*fin[12]+alphaz[4]*fin[5]); + out[26] += 0.27386127875258304*alphaz[11]*fin[43]+0.273861278752583*(alphaz[18]*fin[39]+alphaz[19]*fin[38]+alphaz[4]*fin[37])+0.27386127875258304*(alphaz[26]*fin[35]+alphaz[9]*fin[34]+alphaz[10]*fin[33])+0.273861278752583*alphaz[17]*fin[32]+0.3061862178478971*(alphaz[3]*fin[26]+fin[3]*alphaz[26]+alphaz[7]*fin[19]+fin[7]*alphaz[19]+alphaz[8]*fin[18]+fin[8]*alphaz[18]+alphaz[0]*fin[17]+fin[0]*alphaz[17]+alphaz[11]*fin[16]+fin[11]*alphaz[16]+alphaz[1]*fin[10]+fin[1]*alphaz[10]+alphaz[2]*fin[9]+fin[2]*alphaz[9]+alphaz[4]*fin[6]+fin[4]*alphaz[6]); + out[27] += 0.3061862178478971*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[19]*fin[29]+alphaz[4]*fin[28]+alphaz[3]*fin[27]+fin[25]*alphaz[26]+alphaz[9]*fin[24]+alphaz[10]*fin[23]+alphaz[7]*fin[22]+alphaz[8]*fin[21]+alphaz[0]*fin[20]+fin[15]*alphaz[17]+fin[14]*alphaz[16]+alphaz[1]*fin[13]+alphaz[2]*fin[12]+fin[5]*alphaz[6]); + out[29] += 0.273861278752583*alphaz[19]*fin[47]+0.27386127875258304*(alphaz[26]*fin[46]+alphaz[11]*fin[45]+alphaz[10]*fin[44])+0.273861278752583*(alphaz[18]*fin[42]+alphaz[17]*fin[41]+alphaz[4]*fin[40])+0.27386127875258304*alphaz[9]*fin[36]+0.3061862178478971*(alphaz[8]*fin[31]+alphaz[16]*fin[30]+alphaz[3]*fin[29]+alphaz[2]*fin[28]+alphaz[19]*fin[27]+fin[22]*alphaz[26]+alphaz[7]*fin[25]+alphaz[6]*fin[24]+alphaz[0]*fin[23]+alphaz[11]*fin[21]+alphaz[10]*fin[20]+fin[14]*alphaz[18]+fin[13]*alphaz[17]+alphaz[1]*fin[15]+alphaz[4]*fin[12]+fin[5]*alphaz[9]); + out[30] += 0.273861278752583*alphaz[18]*fin[47]+0.27386127875258304*(alphaz[11]*fin[46]+alphaz[26]*fin[45]+alphaz[9]*fin[44])+0.273861278752583*(alphaz[19]*fin[42]+alphaz[4]*fin[41]+alphaz[17]*fin[40])+0.27386127875258304*alphaz[10]*fin[36]+0.3061862178478971*(alphaz[7]*fin[31]+alphaz[3]*fin[30]+alphaz[16]*fin[29]+alphaz[1]*fin[28]+alphaz[18]*fin[27]+fin[21]*alphaz[26]+alphaz[8]*fin[25]+alphaz[0]*fin[24]+alphaz[6]*fin[23]+alphaz[11]*fin[22]+alphaz[9]*fin[20]+fin[14]*alphaz[19]+fin[12]*alphaz[17]+alphaz[2]*fin[15]+alphaz[4]*fin[13]+fin[5]*alphaz[10]); + out[31] += 0.273861278752583*alphaz[11]*fin[47]+0.27386127875258304*(alphaz[18]*fin[46]+alphaz[19]*fin[45]+alphaz[4]*fin[44])+0.273861278752583*(alphaz[26]*fin[42]+alphaz[9]*fin[41]+alphaz[10]*fin[40])+0.27386127875258304*alphaz[17]*fin[36]+0.3061862178478971*(alphaz[3]*fin[31]+alphaz[7]*fin[30]+alphaz[8]*fin[29]+alphaz[0]*fin[28]+alphaz[11]*fin[27]+fin[14]*alphaz[26]+alphaz[16]*fin[25]+alphaz[1]*fin[24]+alphaz[2]*fin[23]+alphaz[18]*fin[22]+alphaz[19]*fin[21]+alphaz[4]*fin[20]+fin[5]*alphaz[17]+alphaz[6]*fin[15]+alphaz[9]*fin[13]+alphaz[10]*fin[12]); + out[35] += 0.3061862178478971*(alphaz[16]*fin[43]+alphaz[8]*fin[39]+alphaz[7]*fin[38]+alphaz[6]*fin[37]+alphaz[3]*fin[35]+alphaz[2]*fin[34]+alphaz[1]*fin[33]+alphaz[0]*fin[32])+0.27386127875258304*(alphaz[26]*fin[26]+alphaz[19]*fin[19]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[11]*fin[11]+alphaz[10]*fin[10]+alphaz[9]*fin[9]+alphaz[4]*fin[4]); + out[38] += 0.3061862178478971*(alphaz[8]*fin[43]+alphaz[16]*fin[39]+alphaz[3]*fin[38]+alphaz[2]*fin[37]+alphaz[7]*fin[35]+alphaz[6]*fin[34]+alphaz[0]*fin[33]+alphaz[1]*fin[32])+0.273861278752583*(alphaz[19]*fin[26]+fin[19]*alphaz[26]+alphaz[11]*fin[18]+fin[11]*alphaz[18]+alphaz[10]*fin[17]+fin[10]*alphaz[17]+alphaz[4]*fin[9]+fin[4]*alphaz[9]); + out[39] += 0.3061862178478971*(alphaz[7]*fin[43]+alphaz[3]*fin[39]+alphaz[16]*fin[38]+alphaz[1]*fin[37]+alphaz[8]*fin[35]+alphaz[0]*fin[34]+alphaz[6]*fin[33]+alphaz[2]*fin[32])+0.273861278752583*(alphaz[18]*fin[26]+fin[18]*alphaz[26]+alphaz[11]*fin[19]+fin[11]*alphaz[19]+alphaz[9]*fin[17]+fin[9]*alphaz[17]+alphaz[4]*fin[10]+fin[4]*alphaz[10]); + out[42] += 0.3061862178478971*(alphaz[16]*fin[47]+alphaz[8]*fin[46]+alphaz[7]*fin[45]+alphaz[6]*fin[44]+alphaz[3]*fin[42]+alphaz[2]*fin[41]+alphaz[1]*fin[40]+alphaz[0]*fin[36])+0.273861278752583*(alphaz[26]*fin[31]+alphaz[19]*fin[30]+alphaz[18]*fin[29]+alphaz[17]*fin[28]+alphaz[11]*fin[25]+alphaz[10]*fin[24]+alphaz[9]*fin[23]+alphaz[4]*fin[15]); + out[43] += 0.3061862178478971*(alphaz[3]*fin[43]+alphaz[7]*fin[39]+alphaz[8]*fin[38]+alphaz[0]*fin[37]+alphaz[16]*fin[35]+alphaz[1]*fin[34]+alphaz[2]*fin[33]+alphaz[6]*fin[32])+0.27386127875258304*(alphaz[11]*fin[26]+fin[11]*alphaz[26]+alphaz[18]*fin[19]+fin[18]*alphaz[19]+alphaz[4]*fin[17]+fin[4]*alphaz[17]+alphaz[9]*fin[10]+fin[9]*alphaz[10]); + out[45] += 0.3061862178478971*(alphaz[8]*fin[47]+alphaz[16]*fin[46]+alphaz[3]*fin[45]+alphaz[2]*fin[44]+alphaz[7]*fin[42]+alphaz[6]*fin[41]+alphaz[0]*fin[40]+alphaz[1]*fin[36])+0.27386127875258304*(alphaz[19]*fin[31]+alphaz[26]*fin[30]+alphaz[11]*fin[29]+alphaz[10]*fin[28]+alphaz[18]*fin[25]+alphaz[17]*fin[24]+alphaz[4]*fin[23]+alphaz[9]*fin[15]); + out[46] += 0.3061862178478971*(alphaz[7]*fin[47]+alphaz[3]*fin[46]+alphaz[16]*fin[45]+alphaz[1]*fin[44]+alphaz[8]*fin[42]+alphaz[0]*fin[41]+alphaz[6]*fin[40]+alphaz[2]*fin[36])+0.27386127875258304*(alphaz[18]*fin[31]+alphaz[11]*fin[30]+alphaz[26]*fin[29]+alphaz[9]*fin[28]+alphaz[19]*fin[25]+alphaz[4]*fin[24]+alphaz[17]*fin[23]+alphaz[10]*fin[15]); + out[47] += 0.3061862178478971*(alphaz[3]*fin[47]+alphaz[7]*fin[46]+alphaz[8]*fin[45]+alphaz[0]*fin[44]+alphaz[16]*fin[42]+alphaz[1]*fin[41]+alphaz[2]*fin[40]+alphaz[6]*fin[36])+0.273861278752583*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[19]*fin[29]+alphaz[4]*fin[28]+fin[25]*alphaz[26]+alphaz[9]*fin[24]+alphaz[10]*fin[23]+fin[15]*alphaz[17]); + + double alphavpar[48] = {0.}; + alphavpar[0] = (((-(0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[7]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[6]+0.10825317547305482*apar[2]*hamil[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*b_x[3]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[5]*b_x[5]+0.10825317547305482*hamil[3]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[4]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[3]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[3]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[3]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[8]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[6]*apar[7]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[6]-0.21650635094610965*apar[1]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*b_y[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*apar[5]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*hamil[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[3]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[16]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.38971143170299727*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.21650635094610965*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[8]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[7]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[7]+0.10825317547305482*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[6]+0.21650635094610965*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[6]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[6]+0.21650635094610965*apar[1]*hamil[2]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[5]*jacobtot_inv[5]+0.21650635094610965*b_z[1]*hamil[2]*apar[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[5]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[3]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[4]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[3]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[3]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[2]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[2]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[1] = (((-(0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[16]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[7]+0.19485571585149863*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[6]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[6]-0.38971143170299727*hamil[2]*apar[5]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*hamil[3]*apar[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_x[5]-0.21650635094610965*hamil[2]*apar[3]*jacobtot_inv[3]*b_x[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[5]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[5]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[5]+0.10825317547305482*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[4]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[3]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[16]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]-0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[7]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[6]*apar[7]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[6]+0.38971143170299727*hamil[1]*apar[5]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[5]*b_y[5]-0.21650635094610965*apar[1]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.21650635094610965*hamil[1]*apar[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[3]*b_y[5]+0.19485571585149863*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[5]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[16]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[7]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[6]-0.19485571585149863*hamil[1]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_z[5]+0.21650635094610965*apar[1]*hamil[2]*jacobtot_inv[3]*b_z[5]-0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*apar[3]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[4]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[2]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[2]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[2] = (((-(0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[16])-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[8]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*hamil[6]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[6]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[7]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.21650635094610965*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[6]-0.21650635094610965*hamil[3]*apar[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_y[5]-0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[4]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[16]+0.38971143170299727*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[8]+0.21650635094610965*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[2]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[4]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[3] = (((-(0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[16]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[16]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[7]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[6]-0.10825317547305482*apar[0]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[1]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[16]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[16]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[8]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[7]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[6]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[6]-0.38971143170299727*hamil[3]*apar[5]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[5]*jacobtot_inv[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[5]*b_y[5]-0.19485571585149863*apar[3]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[3]*b_y[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[5]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[5]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[5]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[16]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[8]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[7]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[7]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[6]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[6]+0.38971143170299727*hamil[2]*apar[5]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[4]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_z[5]+0.19485571585149863*hamil[2]*apar[3]*jacobtot_inv[3]*b_z[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[5]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[5]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[5]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[3]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[3]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[3]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[5] = (((0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[21]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[14]+0.10825317547305482*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[21]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[14]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[21]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[12]-0.10825317547305482*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[6] = (((-(0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[16])-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[3]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*hamil[6]*apar[7]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*hamil[6]*apar[7]-0.38971143170299727*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[6]-0.19485571585149863*jacobtot_inv[1]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[8]-0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[7]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[7]+0.38971143170299727*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[6]-0.10825317547305482*apar[2]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[3]*jacobtot_inv[3]*apar[4]*b_y[5]+0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[4]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[16]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[8]+0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[8]+0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*apar[2]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*hamil[2]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[4]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[7] = (((-(0.7014805770653949*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.7014805770653949*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.7014805770653949*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[16]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[16]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[8]+0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[7]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[7]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[7]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[7]+0.35074028853269745*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[7]-0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[6]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[6]-0.19485571585149863*apar[1]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.19485571585149863*b_x[1]*hamil[2]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*apar[5]*b_x[5]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[16]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[8]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[8]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[8]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[7]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[7]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.19485571585149863*apar[3]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*apar[1]*hamil[1]*b_y[5]*jacobtot_inv[5]-0.19485571585149863*b_y[3]*hamil[3]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_y[1]*hamil[1]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[5]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*apar[5]*b_y[5]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[3]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[16]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[16]+0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[8]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[8]-0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[7]-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[7]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[7]-0.35074028853269745*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[6]+0.19485571585149863*hamil[2]*apar[3]*b_z[5]*jacobtot_inv[5]+0.19485571585149863*hamil[2]*b_z[3]*apar[5]*jacobtot_inv[5]-0.19485571585149863*b_z[1]*hamil[1]*apar[4]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[5]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*apar[5]*b_z[5]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[4]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[3]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[3]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[8] = (((-(0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[16])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[6]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[6]-0.10825317547305482*apar[2]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*b_x[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[16]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[7]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[7]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[7]-0.38971143170299727*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[7]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[6]+0.10825317547305482*hamil[1]*apar[2]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*b_y[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[4]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[8]+0.38971143170299727*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[6]*apar[7]+0.38971143170299727*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[6]+0.21650635094610965*b_z[1]*hamil[2]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[4]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[3])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[12] = (((0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[14]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[14]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[21])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[21]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[14]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[12]-0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[12]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[13] = ((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[14]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[14]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[12]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[14] = (((0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[14]+0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[21]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[21]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[14]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[21]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[12]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[16] = (((-(0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[16])-0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[0]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[0]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[7]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[6]-0.19485571585149863*hamil[2]*apar[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_x[5]-0.10825317547305482*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[16]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[7]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[7]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[6]-0.19485571585149863*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[6]+0.19485571585149863*hamil[1]*apar[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[4]*b_y[5]+0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[16]+0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[16]+0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.35074028853269745*b_z[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[5]*apar[7]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[6]+0.10825317547305482*b_z[0]*hamil[2]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[4])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[20] = ((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[21]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[12]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[21] = (((0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[21]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[21]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[14]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[21]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[21]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[21]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[14]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[21])-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[21]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[21]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[12]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[22] = ((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[21]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[21]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[14]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[14]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[12]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[27] = ((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[21]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[14]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[14]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[14]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[12]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + + + out[4] += 0.3061862178478971*(alphavpar[27]*fin[27]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[16]*fin[16]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[9] += 0.3061862178478971*(alphavpar[22]*fin[27]+fin[22]*alphavpar[27]+alphavpar[14]*fin[21]+fin[14]*alphavpar[21]+alphavpar[13]*fin[20]+fin[13]*alphavpar[20]+alphavpar[8]*fin[16]+fin[8]*alphavpar[16]+alphavpar[5]*fin[12]+fin[5]*alphavpar[12]+alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[10] += 0.3061862178478971*(alphavpar[21]*fin[27]+fin[21]*alphavpar[27]+alphavpar[14]*fin[22]+fin[14]*alphavpar[22]+alphavpar[12]*fin[20]+fin[12]*alphavpar[20]+alphavpar[7]*fin[16]+fin[7]*alphavpar[16]+alphavpar[5]*fin[13]+fin[5]*alphavpar[13]+alphavpar[3]*fin[8]+fin[3]*alphavpar[8]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[11] += 0.3061862178478971*(alphavpar[20]*fin[27]+fin[20]*alphavpar[27]+alphavpar[13]*fin[22]+fin[13]*alphavpar[22]+alphavpar[12]*fin[21]+fin[12]*alphavpar[21]+alphavpar[6]*fin[16]+fin[6]*alphavpar[16]+alphavpar[5]*fin[14]+fin[5]*alphavpar[14]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8]+alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); + out[15] += 0.3061862178478971*(alphavpar[16]*fin[27]+fin[16]*alphavpar[27]+alphavpar[8]*fin[22]+fin[8]*alphavpar[22]+alphavpar[7]*fin[21]+fin[7]*alphavpar[21]+alphavpar[6]*fin[20]+fin[6]*alphavpar[20]+alphavpar[3]*fin[14]+fin[3]*alphavpar[14]+alphavpar[2]*fin[13]+fin[2]*alphavpar[13]+alphavpar[1]*fin[12]+fin[1]*alphavpar[12]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]); + out[17] += 0.3061862178478971*(alphavpar[14]*fin[27]+fin[14]*alphavpar[27]+alphavpar[21]*fin[22]+fin[21]*alphavpar[22]+alphavpar[5]*fin[20]+fin[5]*alphavpar[20]+alphavpar[3]*fin[16]+fin[3]*alphavpar[16]+alphavpar[12]*fin[13]+fin[12]*alphavpar[13]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[18] += 0.3061862178478971*(alphavpar[13]*fin[27]+fin[13]*alphavpar[27]+alphavpar[20]*fin[22]+fin[20]*alphavpar[22]+alphavpar[5]*fin[21]+fin[5]*alphavpar[21]+alphavpar[2]*fin[16]+fin[2]*alphavpar[16]+alphavpar[12]*fin[14]+fin[12]*alphavpar[14]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8]+alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); + out[19] += 0.3061862178478971*(alphavpar[12]*fin[27]+fin[12]*alphavpar[27]+alphavpar[5]*fin[22]+fin[5]*alphavpar[22]+alphavpar[20]*fin[21]+fin[20]*alphavpar[21]+alphavpar[1]*fin[16]+fin[1]*alphavpar[16]+alphavpar[13]*fin[14]+fin[13]*alphavpar[14]+alphavpar[0]*fin[8]+fin[0]*alphavpar[8]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); + out[23] += 0.3061862178478971*(alphavpar[8]*fin[27]+fin[8]*alphavpar[27]+alphavpar[16]*fin[22]+fin[16]*alphavpar[22]+alphavpar[3]*fin[21]+fin[3]*alphavpar[21]+alphavpar[2]*fin[20]+fin[2]*alphavpar[20]+alphavpar[7]*fin[14]+fin[7]*alphavpar[14]+alphavpar[6]*fin[13]+fin[6]*alphavpar[13]+alphavpar[0]*fin[12]+fin[0]*alphavpar[12]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]); + out[24] += 0.3061862178478971*(alphavpar[7]*fin[27]+fin[7]*alphavpar[27]+alphavpar[3]*fin[22]+fin[3]*alphavpar[22]+alphavpar[16]*fin[21]+fin[16]*alphavpar[21]+alphavpar[1]*fin[20]+fin[1]*alphavpar[20]+alphavpar[8]*fin[14]+fin[8]*alphavpar[14]+alphavpar[0]*fin[13]+fin[0]*alphavpar[13]+alphavpar[6]*fin[12]+fin[6]*alphavpar[12]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]); + out[25] += 0.3061862178478971*(alphavpar[6]*fin[27]+fin[6]*alphavpar[27]+alphavpar[2]*fin[22]+fin[2]*alphavpar[22]+alphavpar[1]*fin[21]+fin[1]*alphavpar[21]+alphavpar[16]*fin[20]+fin[16]*alphavpar[20]+alphavpar[0]*fin[14]+fin[0]*alphavpar[14]+alphavpar[8]*fin[13]+fin[8]*alphavpar[13]+alphavpar[7]*fin[12]+fin[7]*alphavpar[12]+alphavpar[3]*fin[5]+fin[3]*alphavpar[5]); + out[26] += 0.3061862178478971*(alphavpar[5]*fin[27]+fin[5]*alphavpar[27]+alphavpar[12]*fin[22]+fin[12]*alphavpar[22]+alphavpar[13]*fin[21]+fin[13]*alphavpar[21]+alphavpar[14]*fin[20]+fin[14]*alphavpar[20]+alphavpar[0]*fin[16]+fin[0]*alphavpar[16]+alphavpar[1]*fin[8]+fin[1]*alphavpar[8]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]); + out[28] += 0.3061862178478971*(alphavpar[3]*fin[27]+fin[3]*alphavpar[27]+alphavpar[7]*fin[22]+fin[7]*alphavpar[22]+alphavpar[8]*fin[21]+fin[8]*alphavpar[21]+alphavpar[0]*fin[20]+fin[0]*alphavpar[20]+alphavpar[14]*fin[16]+fin[14]*alphavpar[16]+alphavpar[1]*fin[13]+fin[1]*alphavpar[13]+alphavpar[2]*fin[12]+fin[2]*alphavpar[12]+alphavpar[5]*fin[6]+fin[5]*alphavpar[6]); + out[29] += 0.3061862178478971*(alphavpar[2]*fin[27]+fin[2]*alphavpar[27]+alphavpar[6]*fin[22]+fin[6]*alphavpar[22]+alphavpar[0]*fin[21]+fin[0]*alphavpar[21]+alphavpar[8]*fin[20]+fin[8]*alphavpar[20]+alphavpar[13]*fin[16]+fin[13]*alphavpar[16]+alphavpar[1]*fin[14]+fin[1]*alphavpar[14]+alphavpar[3]*fin[12]+fin[3]*alphavpar[12]+alphavpar[5]*fin[7]+fin[5]*alphavpar[7]); + out[30] += 0.3061862178478971*(alphavpar[1]*fin[27]+fin[1]*alphavpar[27]+alphavpar[0]*fin[22]+fin[0]*alphavpar[22]+alphavpar[6]*fin[21]+fin[6]*alphavpar[21]+alphavpar[7]*fin[20]+fin[7]*alphavpar[20]+alphavpar[12]*fin[16]+fin[12]*alphavpar[16]+alphavpar[2]*fin[14]+fin[2]*alphavpar[14]+alphavpar[3]*fin[13]+fin[3]*alphavpar[13]+alphavpar[5]*fin[8]+fin[5]*alphavpar[8]); + out[31] += 0.3061862178478971*(alphavpar[0]*fin[27]+fin[0]*alphavpar[27]+alphavpar[1]*fin[22]+fin[1]*alphavpar[22]+alphavpar[2]*fin[21]+fin[2]*alphavpar[21]+alphavpar[3]*fin[20]+fin[3]*alphavpar[20]+alphavpar[5]*fin[16]+fin[5]*alphavpar[16]+alphavpar[6]*fin[14]+fin[6]*alphavpar[14]+alphavpar[7]*fin[13]+fin[7]*alphavpar[13]+alphavpar[8]*fin[12]+fin[8]*alphavpar[12]); + out[32] += 0.6846531968814573*(alphavpar[27]*fin[31]+alphavpar[22]*fin[30]+alphavpar[21]*fin[29]+alphavpar[20]*fin[28]+alphavpar[16]*fin[26]+alphavpar[14]*fin[25]+alphavpar[13]*fin[24]+alphavpar[12]*fin[23]+alphavpar[8]*fin[19]+alphavpar[7]*fin[18]+alphavpar[6]*fin[17]+alphavpar[5]*fin[15]+alphavpar[3]*fin[11]+alphavpar[2]*fin[10]+alphavpar[1]*fin[9]+alphavpar[0]*fin[4]); + out[33] += 0.6846531968814574*(alphavpar[22]*fin[31]+alphavpar[27]*fin[30]+alphavpar[14]*fin[29]+alphavpar[13]*fin[28]+alphavpar[8]*fin[26]+alphavpar[21]*fin[25]+alphavpar[20]*fin[24]+alphavpar[5]*fin[23]+alphavpar[16]*fin[19]+alphavpar[3]*fin[18]+alphavpar[2]*fin[17]+alphavpar[12]*fin[15]+alphavpar[7]*fin[11]+alphavpar[6]*fin[10]+alphavpar[0]*fin[9]+alphavpar[1]*fin[4]); + out[34] += 0.6846531968814574*(alphavpar[21]*fin[31]+alphavpar[14]*fin[30]+alphavpar[27]*fin[29]+alphavpar[12]*fin[28]+alphavpar[7]*fin[26]+alphavpar[22]*fin[25]+alphavpar[5]*fin[24]+alphavpar[20]*fin[23]+alphavpar[3]*fin[19]+alphavpar[16]*fin[18]+alphavpar[1]*fin[17]+alphavpar[13]*fin[15]+alphavpar[8]*fin[11]+alphavpar[0]*fin[10]+alphavpar[6]*fin[9]+alphavpar[2]*fin[4]); + out[35] += 0.6846531968814574*(alphavpar[20]*fin[31]+alphavpar[13]*fin[30]+alphavpar[12]*fin[29]+alphavpar[27]*fin[28]+alphavpar[6]*fin[26]+alphavpar[5]*fin[25]+alphavpar[22]*fin[24]+alphavpar[21]*fin[23]+alphavpar[2]*fin[19]+alphavpar[1]*fin[18]+alphavpar[16]*fin[17]+alphavpar[14]*fin[15]+alphavpar[0]*fin[11]+alphavpar[8]*fin[10]+alphavpar[7]*fin[9]+alphavpar[3]*fin[4]); + out[36] += 0.6846531968814574*(alphavpar[16]*fin[31]+alphavpar[8]*fin[30]+alphavpar[7]*fin[29]+alphavpar[6]*fin[28]+fin[26]*alphavpar[27]+alphavpar[3]*fin[25]+alphavpar[2]*fin[24]+alphavpar[1]*fin[23]+fin[19]*alphavpar[22]+fin[18]*alphavpar[21]+fin[17]*alphavpar[20]+alphavpar[0]*fin[15]+fin[11]*alphavpar[14]+fin[10]*alphavpar[13]+fin[9]*alphavpar[12]+fin[4]*alphavpar[5]); + out[37] += 0.6846531968814573*(alphavpar[14]*fin[31]+alphavpar[21]*fin[30]+alphavpar[22]*fin[29]+alphavpar[5]*fin[28]+fin[25]*alphavpar[27]+alphavpar[3]*fin[26]+alphavpar[12]*fin[24]+alphavpar[13]*fin[23]+fin[15]*alphavpar[20]+alphavpar[7]*fin[19]+alphavpar[8]*fin[18]+alphavpar[0]*fin[17]+fin[11]*alphavpar[16]+alphavpar[1]*fin[10]+alphavpar[2]*fin[9]+fin[4]*alphavpar[6]); + out[38] += 0.6846531968814573*(alphavpar[13]*fin[31]+alphavpar[20]*fin[30]+alphavpar[5]*fin[29]+alphavpar[22]*fin[28]+fin[24]*alphavpar[27]+alphavpar[2]*fin[26]+alphavpar[12]*fin[25]+alphavpar[14]*fin[23]+fin[15]*alphavpar[21]+alphavpar[6]*fin[19]+alphavpar[0]*fin[18]+alphavpar[8]*fin[17]+fin[10]*alphavpar[16]+alphavpar[1]*fin[11]+alphavpar[3]*fin[9]+fin[4]*alphavpar[7]); + out[39] += 0.6846531968814573*(alphavpar[12]*fin[31]+alphavpar[5]*fin[30]+alphavpar[20]*fin[29]+alphavpar[21]*fin[28]+fin[23]*alphavpar[27]+alphavpar[1]*fin[26]+alphavpar[13]*fin[25]+alphavpar[14]*fin[24]+fin[15]*alphavpar[22]+alphavpar[0]*fin[19]+alphavpar[6]*fin[18]+alphavpar[7]*fin[17]+fin[9]*alphavpar[16]+alphavpar[2]*fin[11]+alphavpar[3]*fin[10]+fin[4]*alphavpar[8]); + out[40] += 0.6846531968814573*(alphavpar[8]*fin[31]+alphavpar[16]*fin[30]+alphavpar[3]*fin[29]+alphavpar[2]*fin[28]+fin[19]*alphavpar[27]+alphavpar[22]*fin[26]+alphavpar[7]*fin[25]+alphavpar[6]*fin[24]+alphavpar[0]*fin[23]+fin[11]*alphavpar[21]+fin[10]*alphavpar[20]+alphavpar[14]*fin[18]+alphavpar[13]*fin[17]+alphavpar[1]*fin[15]+fin[4]*alphavpar[12]+alphavpar[5]*fin[9]); + out[41] += 0.6846531968814573*(alphavpar[7]*fin[31]+alphavpar[3]*fin[30]+alphavpar[16]*fin[29]+alphavpar[1]*fin[28]+fin[18]*alphavpar[27]+alphavpar[21]*fin[26]+alphavpar[8]*fin[25]+alphavpar[0]*fin[24]+alphavpar[6]*fin[23]+fin[11]*alphavpar[22]+fin[9]*alphavpar[20]+alphavpar[14]*fin[19]+alphavpar[12]*fin[17]+alphavpar[2]*fin[15]+fin[4]*alphavpar[13]+alphavpar[5]*fin[10]); + out[42] += 0.6846531968814573*(alphavpar[6]*fin[31]+alphavpar[2]*fin[30]+alphavpar[1]*fin[29]+alphavpar[16]*fin[28]+fin[17]*alphavpar[27]+alphavpar[20]*fin[26]+alphavpar[0]*fin[25]+alphavpar[8]*fin[24]+alphavpar[7]*fin[23]+fin[10]*alphavpar[22]+fin[9]*alphavpar[21]+alphavpar[13]*fin[19]+alphavpar[12]*fin[18]+alphavpar[3]*fin[15]+fin[4]*alphavpar[14]+alphavpar[5]*fin[11]); + out[43] += 0.6846531968814574*(alphavpar[5]*fin[31]+alphavpar[12]*fin[30]+alphavpar[13]*fin[29]+alphavpar[14]*fin[28]+fin[15]*alphavpar[27]+alphavpar[0]*fin[26]+alphavpar[20]*fin[25]+alphavpar[21]*fin[24]+alphavpar[22]*fin[23]+alphavpar[1]*fin[19]+alphavpar[2]*fin[18]+alphavpar[3]*fin[17]+fin[4]*alphavpar[16]+alphavpar[6]*fin[11]+alphavpar[7]*fin[10]+alphavpar[8]*fin[9]); + out[44] += 0.6846531968814574*(alphavpar[3]*fin[31]+alphavpar[7]*fin[30]+alphavpar[8]*fin[29]+alphavpar[0]*fin[28]+fin[11]*alphavpar[27]+alphavpar[14]*fin[26]+alphavpar[16]*fin[25]+alphavpar[1]*fin[24]+alphavpar[2]*fin[23]+fin[18]*alphavpar[22]+fin[19]*alphavpar[21]+fin[4]*alphavpar[20]+alphavpar[5]*fin[17]+alphavpar[6]*fin[15]+fin[9]*alphavpar[13]+fin[10]*alphavpar[12]); + out[45] += 0.6846531968814574*(alphavpar[2]*fin[31]+alphavpar[6]*fin[30]+alphavpar[0]*fin[29]+alphavpar[8]*fin[28]+fin[10]*alphavpar[27]+alphavpar[13]*fin[26]+alphavpar[1]*fin[25]+alphavpar[16]*fin[24]+alphavpar[3]*fin[23]+fin[17]*alphavpar[22]+fin[4]*alphavpar[21]+fin[19]*alphavpar[20]+alphavpar[5]*fin[18]+alphavpar[7]*fin[15]+fin[9]*alphavpar[14]+fin[11]*alphavpar[12]); + out[46] += 0.6846531968814574*(alphavpar[1]*fin[31]+alphavpar[0]*fin[30]+alphavpar[6]*fin[29]+alphavpar[7]*fin[28]+fin[9]*alphavpar[27]+alphavpar[12]*fin[26]+alphavpar[2]*fin[25]+alphavpar[3]*fin[24]+alphavpar[16]*fin[23]+fin[4]*alphavpar[22]+fin[17]*alphavpar[21]+fin[18]*alphavpar[20]+alphavpar[5]*fin[19]+alphavpar[8]*fin[15]+fin[10]*alphavpar[14]+fin[11]*alphavpar[13]); + out[47] += 0.6846531968814573*(alphavpar[0]*fin[31]+alphavpar[1]*fin[30]+alphavpar[2]*fin[29]+alphavpar[3]*fin[28]+fin[4]*alphavpar[27]+alphavpar[5]*fin[26]+alphavpar[6]*fin[25]+alphavpar[7]*fin[24]+alphavpar[8]*fin[23]+fin[9]*alphavpar[22]+fin[10]*alphavpar[21]+fin[11]*alphavpar[20]+alphavpar[12]*fin[19]+alphavpar[13]*fin[18]+alphavpar[14]*fin[17]+fin[15]*alphavpar[16]); + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c new file mode 100644 index 0000000000..9c26ddd0c7 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c @@ -0,0 +1,25 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double q_, const double m_, const double *apardot, + const double *fin, double* GKYL_RESTRICT out) +{ + // q_,m_: species charge and mass. + // apardot: time derivative of parallel component of magnetic vector potential. + // fin: Distribution function. + // out: output increment. + + double alphavpar[6] = {0.}; + alphavpar[0] = -((1.0*apardot[0]*q_)/m_); + alphavpar[1] = -((1.0*apardot[1]*q_)/m_); + alphavpar[2] = -((1.0*apardot[2]*q_)/m_); + alphavpar[3] = -((1.0*apardot[3]*q_)/m_); + alphavpar[4] = -((1.0*apardot[4]*q_)/m_); + alphavpar[5] = -((1.0*apardot[5]*q_)/m_); + + + out[2] += 0.8660254037844386*(alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[3] += 0.8660254037844387*(alphavpar[4]*fin[5]+fin[4]*alphavpar[5])+0.8660254037844386*(alphavpar[2]*fin[3]+fin[2]*alphavpar[3]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[4] += 1.7320508075688774*(alphavpar[3]*fin[5]+fin[3]*alphavpar[5])+1.7320508075688772*(alphavpar[2]*fin[4]+fin[2]*alphavpar[4])+1.9364916731037085*(alphavpar[1]*fin[3]+fin[1]*alphavpar[3]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[5] += 1.7320508075688772*(alphavpar[2]*fin[5]+fin[2]*alphavpar[5])+1.7320508075688774*(alphavpar[3]*fin[4]+fin[3]*alphavpar[4])+1.9364916731037085*(alphavpar[0]*fin[3]+fin[0]*alphavpar[3]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c new file mode 100644 index 0000000000..500c925030 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c @@ -0,0 +1,35 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double q_, const double m_, const double *apardot, + const double *fin, double* GKYL_RESTRICT out) +{ + // q_,m_: species charge and mass. + // apardot: time derivative of parallel component of magnetic vector potential. + // fin: Distribution function. + // out: output increment. + + double alphavpar[12] = {0.}; + alphavpar[0] = -((1.0*apardot[0]*q_)/m_); + alphavpar[1] = -((1.0*apardot[1]*q_)/m_); + alphavpar[2] = -((1.0*apardot[2]*q_)/m_); + alphavpar[3] = -((1.0*apardot[3]*q_)/m_); + alphavpar[4] = -((1.0*apardot[4]*q_)/m_); + alphavpar[5] = -((1.0*apardot[5]*q_)/m_); + alphavpar[6] = -((1.0*apardot[6]*q_)/m_); + alphavpar[7] = -((1.0*apardot[7]*q_)/m_); + alphavpar[8] = -((1.0*apardot[8]*q_)/m_); + alphavpar[9] = -((1.0*apardot[9]*q_)/m_); + alphavpar[10] = -((1.0*apardot[10]*q_)/m_); + alphavpar[11] = -((1.0*apardot[11]*q_)/m_); + + + out[2] += 0.6123724356957944*(alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[4] += 0.6123724356957944*(alphavpar[10]*fin[11]+fin[10]*alphavpar[11]+alphavpar[8]*fin[9]+fin[8]*alphavpar[9]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[3]*fin[5]+fin[3]*alphavpar[5]+alphavpar[2]*fin[4]+fin[2]*alphavpar[4]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[6] += 0.6123724356957944*(alphavpar[9]*fin[11]+fin[9]*alphavpar[11]+alphavpar[8]*fin[10]+fin[8]*alphavpar[10]+alphavpar[4]*fin[7]+fin[4]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); + out[7] += 0.6123724356957944*(alphavpar[8]*fin[11]+fin[8]*alphavpar[11]+alphavpar[9]*fin[10]+fin[9]*alphavpar[10]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[4]*fin[6]+fin[4]*alphavpar[6]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); + out[8] += 1.224744871391589*(alphavpar[7]*fin[11]+fin[7]*alphavpar[11]+alphavpar[6]*fin[10]+fin[6]*alphavpar[10]+alphavpar[4]*fin[9]+fin[4]*alphavpar[9]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8])+1.369306393762915*(alphavpar[5]*fin[7]+fin[5]*alphavpar[7]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]+alphavpar[1]*fin[4]+fin[1]*alphavpar[4]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[9] += 1.224744871391589*(alphavpar[6]*fin[11]+fin[6]*alphavpar[11]+alphavpar[7]*fin[10]+fin[7]*alphavpar[10]+alphavpar[2]*fin[9]+fin[2]*alphavpar[9]+alphavpar[4]*fin[8]+fin[4]*alphavpar[8])+1.369306393762915*(alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[5]*fin[6]+fin[5]*alphavpar[6]+alphavpar[0]*fin[4]+fin[0]*alphavpar[4]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[10] += 1.224744871391589*(alphavpar[4]*fin[11]+fin[4]*alphavpar[11]+alphavpar[2]*fin[10]+fin[2]*alphavpar[10]+alphavpar[7]*fin[9]+fin[7]*alphavpar[9]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8])+1.369306393762915*(alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[4]*fin[5]+fin[4]*alphavpar[5]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); + out[11] += 1.224744871391589*(alphavpar[2]*fin[11]+fin[2]*alphavpar[11]+alphavpar[4]*fin[10]+fin[4]*alphavpar[10]+alphavpar[6]*fin[9]+fin[6]*alphavpar[9]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8])+1.369306393762915*(alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]+alphavpar[3]*fin[4]+fin[3]*alphavpar[4]); + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c new file mode 100644 index 0000000000..856faccde1 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c @@ -0,0 +1,55 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double q_, const double m_, const double *apardot, + const double *fin, double* GKYL_RESTRICT out) +{ + // q_,m_: species charge and mass. + // apardot: time derivative of parallel component of magnetic vector potential. + // fin: Distribution function. + // out: output increment. + + double alphavpar[24] = {0.}; + alphavpar[0] = -((1.0*apardot[0]*q_)/m_); + alphavpar[1] = -((1.0*apardot[1]*q_)/m_); + alphavpar[2] = -((1.0*apardot[2]*q_)/m_); + alphavpar[3] = -((1.0*apardot[3]*q_)/m_); + alphavpar[4] = -((1.0*apardot[4]*q_)/m_); + alphavpar[5] = -((1.0*apardot[5]*q_)/m_); + alphavpar[6] = -((1.0*apardot[6]*q_)/m_); + alphavpar[7] = -((1.0*apardot[7]*q_)/m_); + alphavpar[8] = -((1.0*apardot[8]*q_)/m_); + alphavpar[9] = -((1.0*apardot[9]*q_)/m_); + alphavpar[10] = -((1.0*apardot[10]*q_)/m_); + alphavpar[11] = -((1.0*apardot[11]*q_)/m_); + alphavpar[12] = -((1.0*apardot[12]*q_)/m_); + alphavpar[13] = -((1.0*apardot[13]*q_)/m_); + alphavpar[14] = -((1.0*apardot[14]*q_)/m_); + alphavpar[15] = -((1.0*apardot[15]*q_)/m_); + alphavpar[16] = -((1.0*apardot[16]*q_)/m_); + alphavpar[17] = -((1.0*apardot[17]*q_)/m_); + alphavpar[18] = -((1.0*apardot[18]*q_)/m_); + alphavpar[19] = -((1.0*apardot[19]*q_)/m_); + alphavpar[20] = -((1.0*apardot[20]*q_)/m_); + alphavpar[21] = -((1.0*apardot[21]*q_)/m_); + alphavpar[22] = -((1.0*apardot[22]*q_)/m_); + alphavpar[23] = -((1.0*apardot[23]*q_)/m_); + + + out[3] += 0.4330127018922193*(alphavpar[23]*fin[23]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[19]*fin[19]+alphavpar[18]*fin[18]+alphavpar[17]*fin[17]+alphavpar[16]*fin[16]+alphavpar[15]*fin[15]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[6] += 0.43301270189221935*(alphavpar[22]*fin[23]+fin[22]*alphavpar[23]+alphavpar[19]*fin[21]+fin[19]*alphavpar[21]+alphavpar[18]*fin[20]+fin[18]*alphavpar[20]+alphavpar[16]*fin[17]+fin[16]*alphavpar[17])+0.4330127018922193*(alphavpar[14]*fin[15]+fin[14]*alphavpar[15]+alphavpar[10]*fin[13]+fin[10]*alphavpar[13]+alphavpar[9]*fin[12]+fin[9]*alphavpar[12]+alphavpar[7]*fin[11]+fin[7]*alphavpar[11]+alphavpar[4]*fin[8]+fin[4]*alphavpar[8]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[7] += 0.43301270189221935*(alphavpar[21]*fin[23]+fin[21]*alphavpar[23]+alphavpar[19]*fin[22]+fin[19]*alphavpar[22]+alphavpar[17]*fin[20]+fin[17]*alphavpar[20]+alphavpar[16]*fin[18]+fin[16]*alphavpar[18])+0.4330127018922193*(alphavpar[13]*fin[15]+fin[13]*alphavpar[15]+alphavpar[10]*fin[14]+fin[10]*alphavpar[14]+alphavpar[8]*fin[12]+fin[8]*alphavpar[12]+alphavpar[6]*fin[11]+fin[6]*alphavpar[11]+alphavpar[4]*fin[9]+fin[4]*alphavpar[9]+alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[10] += 0.43301270189221935*(alphavpar[20]*fin[23]+fin[20]*alphavpar[23]+alphavpar[18]*fin[22]+fin[18]*alphavpar[22]+alphavpar[17]*fin[21]+fin[17]*alphavpar[21]+alphavpar[16]*fin[19]+fin[16]*alphavpar[19])+0.4330127018922193*(alphavpar[11]*fin[15]+fin[11]*alphavpar[15]+alphavpar[7]*fin[14]+fin[7]*alphavpar[14]+alphavpar[6]*fin[13]+fin[6]*alphavpar[13]+alphavpar[5]*fin[12]+fin[5]*alphavpar[12]+alphavpar[3]*fin[10]+fin[3]*alphavpar[10]+alphavpar[2]*fin[9]+fin[2]*alphavpar[9]+alphavpar[1]*fin[8]+fin[1]*alphavpar[8]+alphavpar[0]*fin[4]+fin[0]*alphavpar[4]); + out[11] += 0.4330127018922193*(alphavpar[19]*fin[23]+fin[19]*alphavpar[23]+alphavpar[21]*fin[22]+fin[21]*alphavpar[22]+alphavpar[16]*fin[20]+fin[16]*alphavpar[20]+alphavpar[17]*fin[18]+fin[17]*alphavpar[18]+alphavpar[10]*fin[15]+fin[10]*alphavpar[15]+alphavpar[13]*fin[14]+fin[13]*alphavpar[14]+alphavpar[4]*fin[12]+fin[4]*alphavpar[12]+alphavpar[3]*fin[11]+fin[3]*alphavpar[11]+alphavpar[8]*fin[9]+fin[8]*alphavpar[9]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[13] += 0.4330127018922193*(alphavpar[18]*fin[23]+fin[18]*alphavpar[23]+alphavpar[20]*fin[22]+fin[20]*alphavpar[22]+alphavpar[16]*fin[21]+fin[16]*alphavpar[21]+alphavpar[17]*fin[19]+fin[17]*alphavpar[19]+alphavpar[7]*fin[15]+fin[7]*alphavpar[15]+alphavpar[11]*fin[14]+fin[11]*alphavpar[14]+alphavpar[3]*fin[13]+fin[3]*alphavpar[13]+alphavpar[2]*fin[12]+fin[2]*alphavpar[12]+alphavpar[6]*fin[10]+fin[6]*alphavpar[10]+alphavpar[5]*fin[9]+fin[5]*alphavpar[9]+alphavpar[0]*fin[8]+fin[0]*alphavpar[8]+alphavpar[1]*fin[4]+fin[1]*alphavpar[4]); + out[14] += 0.4330127018922193*(alphavpar[17]*fin[23]+fin[17]*alphavpar[23]+alphavpar[16]*fin[22]+fin[16]*alphavpar[22]+alphavpar[20]*fin[21]+fin[20]*alphavpar[21]+alphavpar[18]*fin[19]+fin[18]*alphavpar[19]+alphavpar[6]*fin[15]+fin[6]*alphavpar[15]+alphavpar[3]*fin[14]+fin[3]*alphavpar[14]+alphavpar[11]*fin[13]+fin[11]*alphavpar[13]+alphavpar[1]*fin[12]+fin[1]*alphavpar[12]+alphavpar[7]*fin[10]+fin[7]*alphavpar[10]+alphavpar[0]*fin[9]+fin[0]*alphavpar[9]+alphavpar[5]*fin[8]+fin[5]*alphavpar[8]+alphavpar[2]*fin[4]+fin[2]*alphavpar[4]); + out[15] += 0.43301270189221935*(alphavpar[16]*fin[23]+fin[16]*alphavpar[23]+alphavpar[17]*fin[22]+fin[17]*alphavpar[22]+alphavpar[18]*fin[21]+fin[18]*alphavpar[21]+alphavpar[19]*fin[20]+fin[19]*alphavpar[20])+0.4330127018922193*(alphavpar[3]*fin[15]+fin[3]*alphavpar[15]+alphavpar[6]*fin[14]+fin[6]*alphavpar[14]+alphavpar[7]*fin[13]+fin[7]*alphavpar[13]+alphavpar[0]*fin[12]+fin[0]*alphavpar[12]+alphavpar[10]*fin[11]+fin[10]*alphavpar[11]+alphavpar[1]*fin[9]+fin[1]*alphavpar[9]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8]+alphavpar[4]*fin[5]+fin[4]*alphavpar[5]); + out[16] += 0.8660254037844387*(alphavpar[15]*fin[23]+fin[15]*alphavpar[23])+0.8660254037844386*(alphavpar[14]*fin[22]+fin[14]*alphavpar[22]+alphavpar[13]*fin[21]+fin[13]*alphavpar[21]+alphavpar[11]*fin[20]+fin[11]*alphavpar[20])+0.8660254037844387*(alphavpar[10]*fin[19]+fin[10]*alphavpar[19]+alphavpar[7]*fin[18]+fin[7]*alphavpar[18]+alphavpar[6]*fin[17]+fin[6]*alphavpar[17])+0.8660254037844386*(alphavpar[3]*fin[16]+fin[3]*alphavpar[16])+0.9682458365518543*(alphavpar[12]*fin[15]+fin[12]*alphavpar[15]+alphavpar[9]*fin[14]+fin[9]*alphavpar[14]+alphavpar[8]*fin[13]+fin[8]*alphavpar[13]+alphavpar[5]*fin[11]+fin[5]*alphavpar[11]+alphavpar[4]*fin[10]+fin[4]*alphavpar[10]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); + out[17] += 0.8660254037844386*(alphavpar[14]*fin[23]+fin[14]*alphavpar[23])+0.8660254037844387*(alphavpar[15]*fin[22]+fin[15]*alphavpar[22]+alphavpar[10]*fin[21]+fin[10]*alphavpar[21]+alphavpar[7]*fin[20]+fin[7]*alphavpar[20])+0.8660254037844386*(alphavpar[13]*fin[19]+fin[13]*alphavpar[19]+alphavpar[11]*fin[18]+fin[11]*alphavpar[18]+alphavpar[3]*fin[17]+fin[3]*alphavpar[17])+0.8660254037844387*(alphavpar[6]*fin[16]+fin[6]*alphavpar[16])+0.9682458365518543*(alphavpar[9]*fin[15]+fin[9]*alphavpar[15]+alphavpar[12]*fin[14]+fin[12]*alphavpar[14]+alphavpar[4]*fin[13]+fin[4]*alphavpar[13]+alphavpar[2]*fin[11]+fin[2]*alphavpar[11]+alphavpar[8]*fin[10]+fin[8]*alphavpar[10]+alphavpar[5]*fin[7]+fin[5]*alphavpar[7]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); + out[18] += 0.8660254037844386*(alphavpar[13]*fin[23]+fin[13]*alphavpar[23])+0.8660254037844387*(alphavpar[10]*fin[22]+fin[10]*alphavpar[22]+alphavpar[15]*fin[21]+fin[15]*alphavpar[21]+alphavpar[6]*fin[20]+fin[6]*alphavpar[20])+0.8660254037844386*(alphavpar[14]*fin[19]+fin[14]*alphavpar[19]+alphavpar[3]*fin[18]+fin[3]*alphavpar[18]+alphavpar[11]*fin[17]+fin[11]*alphavpar[17])+0.8660254037844387*(alphavpar[7]*fin[16]+fin[7]*alphavpar[16])+0.9682458365518543*(alphavpar[8]*fin[15]+fin[8]*alphavpar[15]+alphavpar[4]*fin[14]+fin[4]*alphavpar[14]+alphavpar[12]*fin[13]+fin[12]*alphavpar[13]+alphavpar[1]*fin[11]+fin[1]*alphavpar[11]+alphavpar[9]*fin[10]+fin[9]*alphavpar[10]+alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[5]*fin[6]+fin[5]*alphavpar[6]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); + out[19] += 0.8660254037844386*(alphavpar[11]*fin[23]+fin[11]*alphavpar[23])+0.8660254037844387*(alphavpar[7]*fin[22]+fin[7]*alphavpar[22]+alphavpar[6]*fin[21]+fin[6]*alphavpar[21]+alphavpar[15]*fin[20]+fin[15]*alphavpar[20])+0.8660254037844386*(alphavpar[3]*fin[19]+fin[3]*alphavpar[19]+alphavpar[14]*fin[18]+fin[14]*alphavpar[18]+alphavpar[13]*fin[17]+fin[13]*alphavpar[17])+0.8660254037844387*(alphavpar[10]*fin[16]+fin[10]*alphavpar[16])+0.9682458365518543*(alphavpar[5]*fin[15]+fin[5]*alphavpar[15]+alphavpar[2]*fin[14]+fin[2]*alphavpar[14]+alphavpar[1]*fin[13]+fin[1]*alphavpar[13]+alphavpar[11]*fin[12]+fin[11]*alphavpar[12]+alphavpar[0]*fin[10]+fin[0]*alphavpar[10]+alphavpar[7]*fin[9]+fin[7]*alphavpar[9]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8]+alphavpar[3]*fin[4]+fin[3]*alphavpar[4]); + out[20] += 0.8660254037844387*(alphavpar[10]*fin[23]+fin[10]*alphavpar[23])+0.8660254037844386*(alphavpar[13]*fin[22]+fin[13]*alphavpar[22]+alphavpar[14]*fin[21]+fin[14]*alphavpar[21]+alphavpar[3]*fin[20]+fin[3]*alphavpar[20])+0.8660254037844387*(alphavpar[15]*fin[19]+fin[15]*alphavpar[19]+alphavpar[6]*fin[18]+fin[6]*alphavpar[18]+alphavpar[7]*fin[17]+fin[7]*alphavpar[17])+0.8660254037844386*(alphavpar[11]*fin[16]+fin[11]*alphavpar[16])+0.9682458365518543*(alphavpar[4]*fin[15]+fin[4]*alphavpar[15]+alphavpar[8]*fin[14]+fin[8]*alphavpar[14]+alphavpar[9]*fin[13]+fin[9]*alphavpar[13]+alphavpar[10]*fin[12]+fin[10]*alphavpar[12]+alphavpar[0]*fin[11]+fin[0]*alphavpar[11]+alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[3]*fin[5]+fin[3]*alphavpar[5]); + out[21] += 0.8660254037844387*(alphavpar[7]*fin[23]+fin[7]*alphavpar[23])+0.8660254037844386*(alphavpar[11]*fin[22]+fin[11]*alphavpar[22]+alphavpar[3]*fin[21]+fin[3]*alphavpar[21]+alphavpar[14]*fin[20]+fin[14]*alphavpar[20])+0.8660254037844387*(alphavpar[6]*fin[19]+fin[6]*alphavpar[19]+alphavpar[15]*fin[18]+fin[15]*alphavpar[18]+alphavpar[10]*fin[17]+fin[10]*alphavpar[17])+0.8660254037844386*(alphavpar[13]*fin[16]+fin[13]*alphavpar[16])+0.9682458365518543*(alphavpar[2]*fin[15]+fin[2]*alphavpar[15]+alphavpar[5]*fin[14]+fin[5]*alphavpar[14]+alphavpar[0]*fin[13]+fin[0]*alphavpar[13]+alphavpar[7]*fin[12]+fin[7]*alphavpar[12]+alphavpar[9]*fin[11]+fin[9]*alphavpar[11]+alphavpar[1]*fin[10]+fin[1]*alphavpar[10]+alphavpar[3]*fin[8]+fin[3]*alphavpar[8]+alphavpar[4]*fin[6]+fin[4]*alphavpar[6]); + out[22] += 0.8660254037844387*(alphavpar[6]*fin[23]+fin[6]*alphavpar[23])+0.8660254037844386*(alphavpar[3]*fin[22]+fin[3]*alphavpar[22]+alphavpar[11]*fin[21]+fin[11]*alphavpar[21]+alphavpar[13]*fin[20]+fin[13]*alphavpar[20])+0.8660254037844387*(alphavpar[7]*fin[19]+fin[7]*alphavpar[19]+alphavpar[10]*fin[18]+fin[10]*alphavpar[18]+alphavpar[15]*fin[17]+fin[15]*alphavpar[17])+0.8660254037844386*(alphavpar[14]*fin[16]+fin[14]*alphavpar[16])+0.9682458365518543*(alphavpar[1]*fin[15]+fin[1]*alphavpar[15]+alphavpar[0]*fin[14]+fin[0]*alphavpar[14]+alphavpar[5]*fin[13]+fin[5]*alphavpar[13]+alphavpar[6]*fin[12]+fin[6]*alphavpar[12]+alphavpar[8]*fin[11]+fin[8]*alphavpar[11]+alphavpar[2]*fin[10]+fin[2]*alphavpar[10]+alphavpar[3]*fin[9]+fin[3]*alphavpar[9]+alphavpar[4]*fin[7]+fin[4]*alphavpar[7]); + out[23] += 0.8660254037844386*(alphavpar[3]*fin[23]+fin[3]*alphavpar[23])+0.8660254037844387*(alphavpar[6]*fin[22]+fin[6]*alphavpar[22]+alphavpar[7]*fin[21]+fin[7]*alphavpar[21]+alphavpar[10]*fin[20]+fin[10]*alphavpar[20])+0.8660254037844386*(alphavpar[11]*fin[19]+fin[11]*alphavpar[19]+alphavpar[13]*fin[18]+fin[13]*alphavpar[18]+alphavpar[14]*fin[17]+fin[14]*alphavpar[17])+0.8660254037844387*(alphavpar[15]*fin[16]+fin[15]*alphavpar[16])+0.9682458365518543*(alphavpar[0]*fin[15]+fin[0]*alphavpar[15]+alphavpar[1]*fin[14]+fin[1]*alphavpar[14]+alphavpar[2]*fin[13]+fin[2]*alphavpar[13]+alphavpar[3]*fin[12]+fin[3]*alphavpar[12]+alphavpar[4]*fin[11]+fin[4]*alphavpar[11]+alphavpar[5]*fin[10]+fin[5]*alphavpar[10]+alphavpar[6]*fin[9]+fin[6]*alphavpar[9]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8]); + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c new file mode 100644 index 0000000000..805c88b9b2 --- /dev/null +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c @@ -0,0 +1,95 @@ +#include +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double q_, const double m_, const double *apardot, + const double *fin, double* GKYL_RESTRICT out) +{ + // q_,m_: species charge and mass. + // apardot: time derivative of parallel component of magnetic vector potential. + // fin: Distribution function. + // out: output increment. + + double alphavpar[48] = {0.}; + alphavpar[0] = -((1.0*apardot[0]*q_)/m_); + alphavpar[1] = -((1.0*apardot[1]*q_)/m_); + alphavpar[2] = -((1.0*apardot[2]*q_)/m_); + alphavpar[3] = -((1.0*apardot[3]*q_)/m_); + alphavpar[4] = -((1.0*apardot[4]*q_)/m_); + alphavpar[5] = -((1.0*apardot[5]*q_)/m_); + alphavpar[6] = -((1.0*apardot[6]*q_)/m_); + alphavpar[7] = -((1.0*apardot[7]*q_)/m_); + alphavpar[8] = -((1.0*apardot[8]*q_)/m_); + alphavpar[9] = -((1.0*apardot[9]*q_)/m_); + alphavpar[10] = -((1.0*apardot[10]*q_)/m_); + alphavpar[11] = -((1.0*apardot[11]*q_)/m_); + alphavpar[12] = -((1.0*apardot[12]*q_)/m_); + alphavpar[13] = -((1.0*apardot[13]*q_)/m_); + alphavpar[14] = -((1.0*apardot[14]*q_)/m_); + alphavpar[15] = -((1.0*apardot[15]*q_)/m_); + alphavpar[16] = -((1.0*apardot[16]*q_)/m_); + alphavpar[17] = -((1.0*apardot[17]*q_)/m_); + alphavpar[18] = -((1.0*apardot[18]*q_)/m_); + alphavpar[19] = -((1.0*apardot[19]*q_)/m_); + alphavpar[20] = -((1.0*apardot[20]*q_)/m_); + alphavpar[21] = -((1.0*apardot[21]*q_)/m_); + alphavpar[22] = -((1.0*apardot[22]*q_)/m_); + alphavpar[23] = -((1.0*apardot[23]*q_)/m_); + alphavpar[24] = -((1.0*apardot[24]*q_)/m_); + alphavpar[25] = -((1.0*apardot[25]*q_)/m_); + alphavpar[26] = -((1.0*apardot[26]*q_)/m_); + alphavpar[27] = -((1.0*apardot[27]*q_)/m_); + alphavpar[28] = -((1.0*apardot[28]*q_)/m_); + alphavpar[29] = -((1.0*apardot[29]*q_)/m_); + alphavpar[30] = -((1.0*apardot[30]*q_)/m_); + alphavpar[31] = -((1.0*apardot[31]*q_)/m_); + alphavpar[32] = -((1.0*apardot[32]*q_)/m_); + alphavpar[33] = -((1.0*apardot[33]*q_)/m_); + alphavpar[34] = -((1.0*apardot[34]*q_)/m_); + alphavpar[35] = -((1.0*apardot[35]*q_)/m_); + alphavpar[36] = -((1.0*apardot[36]*q_)/m_); + alphavpar[37] = -((1.0*apardot[37]*q_)/m_); + alphavpar[38] = -((1.0*apardot[38]*q_)/m_); + alphavpar[39] = -((1.0*apardot[39]*q_)/m_); + alphavpar[40] = -((1.0*apardot[40]*q_)/m_); + alphavpar[41] = -((1.0*apardot[41]*q_)/m_); + alphavpar[42] = -((1.0*apardot[42]*q_)/m_); + alphavpar[43] = -((1.0*apardot[43]*q_)/m_); + alphavpar[44] = -((1.0*apardot[44]*q_)/m_); + alphavpar[45] = -((1.0*apardot[45]*q_)/m_); + alphavpar[46] = -((1.0*apardot[46]*q_)/m_); + alphavpar[47] = -((1.0*apardot[47]*q_)/m_); + + + out[4] += 0.3061862178478971*(alphavpar[47]*fin[47]+alphavpar[46]*fin[46]+alphavpar[45]*fin[45]+alphavpar[44]*fin[44]+alphavpar[43]*fin[43]+alphavpar[42]*fin[42]+alphavpar[41]*fin[41]+alphavpar[40]*fin[40]+alphavpar[39]*fin[39]+alphavpar[38]*fin[38]+alphavpar[37]*fin[37]+alphavpar[36]*fin[36]+alphavpar[35]*fin[35]+alphavpar[34]*fin[34]+alphavpar[33]*fin[33]+alphavpar[32]*fin[32]+alphavpar[31]*fin[31]+alphavpar[30]*fin[30]+alphavpar[29]*fin[29]+alphavpar[28]*fin[28]+alphavpar[27]*fin[27]+alphavpar[26]*fin[26]+alphavpar[25]*fin[25]+alphavpar[24]*fin[24]+alphavpar[23]*fin[23]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[19]*fin[19]+alphavpar[18]*fin[18]+alphavpar[17]*fin[17]+alphavpar[16]*fin[16]+alphavpar[15]*fin[15]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[9] += 0.3061862178478971*(alphavpar[46]*fin[47]+fin[46]*alphavpar[47]+alphavpar[42]*fin[45]+fin[42]*alphavpar[45]+alphavpar[41]*fin[44]+fin[41]*alphavpar[44]+alphavpar[39]*fin[43]+fin[39]*alphavpar[43]+alphavpar[36]*fin[40]+fin[36]*alphavpar[40]+alphavpar[35]*fin[38]+fin[35]*alphavpar[38]+alphavpar[34]*fin[37]+fin[34]*alphavpar[37]+alphavpar[32]*fin[33]+fin[32]*alphavpar[33]+alphavpar[30]*fin[31]+fin[30]*alphavpar[31]+alphavpar[25]*fin[29]+fin[25]*alphavpar[29]+alphavpar[24]*fin[28]+fin[24]*alphavpar[28]+alphavpar[22]*fin[27]+fin[22]*alphavpar[27]+alphavpar[19]*fin[26]+fin[19]*alphavpar[26]+alphavpar[15]*fin[23]+fin[15]*alphavpar[23]+alphavpar[14]*fin[21]+fin[14]*alphavpar[21]+alphavpar[13]*fin[20]+fin[13]*alphavpar[20]+alphavpar[11]*fin[18]+fin[11]*alphavpar[18]+alphavpar[10]*fin[17]+fin[10]*alphavpar[17]+alphavpar[8]*fin[16]+fin[8]*alphavpar[16]+alphavpar[5]*fin[12]+fin[5]*alphavpar[12]+alphavpar[4]*fin[9]+fin[4]*alphavpar[9]+alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[10] += 0.3061862178478971*(alphavpar[45]*fin[47]+fin[45]*alphavpar[47]+alphavpar[42]*fin[46]+fin[42]*alphavpar[46]+alphavpar[40]*fin[44]+fin[40]*alphavpar[44]+alphavpar[38]*fin[43]+fin[38]*alphavpar[43]+alphavpar[36]*fin[41]+fin[36]*alphavpar[41]+alphavpar[35]*fin[39]+fin[35]*alphavpar[39]+alphavpar[33]*fin[37]+fin[33]*alphavpar[37]+alphavpar[32]*fin[34]+fin[32]*alphavpar[34]+alphavpar[29]*fin[31]+fin[29]*alphavpar[31]+alphavpar[25]*fin[30]+fin[25]*alphavpar[30]+alphavpar[23]*fin[28]+fin[23]*alphavpar[28]+alphavpar[21]*fin[27]+fin[21]*alphavpar[27]+alphavpar[18]*fin[26]+fin[18]*alphavpar[26]+alphavpar[15]*fin[24]+fin[15]*alphavpar[24]+alphavpar[14]*fin[22]+fin[14]*alphavpar[22]+alphavpar[12]*fin[20]+fin[12]*alphavpar[20]+alphavpar[11]*fin[19]+fin[11]*alphavpar[19]+alphavpar[9]*fin[17]+fin[9]*alphavpar[17]+alphavpar[7]*fin[16]+fin[7]*alphavpar[16]+alphavpar[5]*fin[13]+fin[5]*alphavpar[13]+alphavpar[4]*fin[10]+fin[4]*alphavpar[10]+alphavpar[3]*fin[8]+fin[3]*alphavpar[8]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[11] += 0.3061862178478971*(alphavpar[44]*fin[47]+fin[44]*alphavpar[47]+alphavpar[41]*fin[46]+fin[41]*alphavpar[46]+alphavpar[40]*fin[45]+fin[40]*alphavpar[45]+alphavpar[37]*fin[43]+fin[37]*alphavpar[43]+alphavpar[36]*fin[42]+fin[36]*alphavpar[42]+alphavpar[34]*fin[39]+fin[34]*alphavpar[39]+alphavpar[33]*fin[38]+fin[33]*alphavpar[38]+alphavpar[32]*fin[35]+fin[32]*alphavpar[35]+alphavpar[28]*fin[31]+fin[28]*alphavpar[31]+alphavpar[24]*fin[30]+fin[24]*alphavpar[30]+alphavpar[23]*fin[29]+fin[23]*alphavpar[29]+alphavpar[20]*fin[27]+fin[20]*alphavpar[27]+alphavpar[17]*fin[26]+fin[17]*alphavpar[26]+alphavpar[15]*fin[25]+fin[15]*alphavpar[25]+alphavpar[13]*fin[22]+fin[13]*alphavpar[22]+alphavpar[12]*fin[21]+fin[12]*alphavpar[21]+alphavpar[10]*fin[19]+fin[10]*alphavpar[19]+alphavpar[9]*fin[18]+fin[9]*alphavpar[18]+alphavpar[6]*fin[16]+fin[6]*alphavpar[16]+alphavpar[5]*fin[14]+fin[5]*alphavpar[14]+alphavpar[4]*fin[11]+fin[4]*alphavpar[11]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8]+alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); + out[15] += 0.3061862178478971*(alphavpar[43]*fin[47]+fin[43]*alphavpar[47]+alphavpar[39]*fin[46]+fin[39]*alphavpar[46]+alphavpar[38]*fin[45]+fin[38]*alphavpar[45]+alphavpar[37]*fin[44]+fin[37]*alphavpar[44]+alphavpar[35]*fin[42]+fin[35]*alphavpar[42]+alphavpar[34]*fin[41]+fin[34]*alphavpar[41]+alphavpar[33]*fin[40]+fin[33]*alphavpar[40]+alphavpar[32]*fin[36]+fin[32]*alphavpar[36]+alphavpar[26]*fin[31]+fin[26]*alphavpar[31]+alphavpar[19]*fin[30]+fin[19]*alphavpar[30]+alphavpar[18]*fin[29]+fin[18]*alphavpar[29]+alphavpar[17]*fin[28]+fin[17]*alphavpar[28]+alphavpar[16]*fin[27]+fin[16]*alphavpar[27]+alphavpar[11]*fin[25]+fin[11]*alphavpar[25]+alphavpar[10]*fin[24]+fin[10]*alphavpar[24]+alphavpar[9]*fin[23]+fin[9]*alphavpar[23]+alphavpar[8]*fin[22]+fin[8]*alphavpar[22]+alphavpar[7]*fin[21]+fin[7]*alphavpar[21]+alphavpar[6]*fin[20]+fin[6]*alphavpar[20]+alphavpar[4]*fin[15]+fin[4]*alphavpar[15]+alphavpar[3]*fin[14]+fin[3]*alphavpar[14]+alphavpar[2]*fin[13]+fin[2]*alphavpar[13]+alphavpar[1]*fin[12]+fin[1]*alphavpar[12]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]); + out[17] += 0.3061862178478971*(alphavpar[42]*fin[47]+fin[42]*alphavpar[47]+alphavpar[45]*fin[46]+fin[45]*alphavpar[46]+alphavpar[36]*fin[44]+fin[36]*alphavpar[44]+alphavpar[35]*fin[43]+fin[35]*alphavpar[43]+alphavpar[40]*fin[41]+fin[40]*alphavpar[41]+alphavpar[38]*fin[39]+fin[38]*alphavpar[39]+alphavpar[32]*fin[37]+fin[32]*alphavpar[37]+alphavpar[33]*fin[34]+fin[33]*alphavpar[34]+alphavpar[25]*fin[31]+fin[25]*alphavpar[31]+alphavpar[29]*fin[30]+fin[29]*alphavpar[30]+alphavpar[15]*fin[28]+fin[15]*alphavpar[28]+alphavpar[14]*fin[27]+fin[14]*alphavpar[27]+alphavpar[11]*fin[26]+fin[11]*alphavpar[26]+alphavpar[23]*fin[24]+fin[23]*alphavpar[24]+alphavpar[21]*fin[22]+fin[21]*alphavpar[22]+alphavpar[5]*fin[20]+fin[5]*alphavpar[20]+alphavpar[18]*fin[19]+fin[18]*alphavpar[19]+alphavpar[4]*fin[17]+fin[4]*alphavpar[17]+alphavpar[3]*fin[16]+fin[3]*alphavpar[16]+alphavpar[12]*fin[13]+fin[12]*alphavpar[13]+alphavpar[9]*fin[10]+fin[9]*alphavpar[10]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[18] += 0.3061862178478971*(alphavpar[41]*fin[47]+fin[41]*alphavpar[47]+alphavpar[44]*fin[46]+fin[44]*alphavpar[46]+alphavpar[36]*fin[45]+fin[36]*alphavpar[45]+alphavpar[34]*fin[43]+fin[34]*alphavpar[43]+alphavpar[40]*fin[42]+fin[40]*alphavpar[42]+alphavpar[37]*fin[39]+fin[37]*alphavpar[39]+alphavpar[32]*fin[38]+fin[32]*alphavpar[38]+alphavpar[33]*fin[35]+fin[33]*alphavpar[35]+alphavpar[24]*fin[31]+fin[24]*alphavpar[31]+alphavpar[28]*fin[30]+fin[28]*alphavpar[30]+alphavpar[15]*fin[29]+fin[15]*alphavpar[29]+alphavpar[13]*fin[27]+fin[13]*alphavpar[27]+alphavpar[10]*fin[26]+fin[10]*alphavpar[26]+alphavpar[23]*fin[25]+fin[23]*alphavpar[25]+alphavpar[20]*fin[22]+fin[20]*alphavpar[22]+alphavpar[5]*fin[21]+fin[5]*alphavpar[21]+alphavpar[17]*fin[19]+fin[17]*alphavpar[19]+alphavpar[4]*fin[18]+fin[4]*alphavpar[18]+alphavpar[2]*fin[16]+fin[2]*alphavpar[16]+alphavpar[12]*fin[14]+fin[12]*alphavpar[14]+alphavpar[9]*fin[11]+fin[9]*alphavpar[11]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8]+alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); + out[19] += 0.3061862178478971*(alphavpar[40]*fin[47]+fin[40]*alphavpar[47]+alphavpar[36]*fin[46]+fin[36]*alphavpar[46]+alphavpar[44]*fin[45]+fin[44]*alphavpar[45]+alphavpar[33]*fin[43]+fin[33]*alphavpar[43]+alphavpar[41]*fin[42]+fin[41]*alphavpar[42]+alphavpar[32]*fin[39]+fin[32]*alphavpar[39]+alphavpar[37]*fin[38]+fin[37]*alphavpar[38]+alphavpar[34]*fin[35]+fin[34]*alphavpar[35]+alphavpar[23]*fin[31]+fin[23]*alphavpar[31]+alphavpar[15]*fin[30]+fin[15]*alphavpar[30]+alphavpar[28]*fin[29]+fin[28]*alphavpar[29]+alphavpar[12]*fin[27]+fin[12]*alphavpar[27]+alphavpar[9]*fin[26]+fin[9]*alphavpar[26]+alphavpar[24]*fin[25]+fin[24]*alphavpar[25]+alphavpar[5]*fin[22]+fin[5]*alphavpar[22]+alphavpar[20]*fin[21]+fin[20]*alphavpar[21]+alphavpar[4]*fin[19]+fin[4]*alphavpar[19]+alphavpar[17]*fin[18]+fin[17]*alphavpar[18]+alphavpar[1]*fin[16]+fin[1]*alphavpar[16]+alphavpar[13]*fin[14]+fin[13]*alphavpar[14]+alphavpar[10]*fin[11]+fin[10]*alphavpar[11]+alphavpar[0]*fin[8]+fin[0]*alphavpar[8]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); + out[23] += 0.3061862178478971*(alphavpar[39]*fin[47]+fin[39]*alphavpar[47]+alphavpar[43]*fin[46]+fin[43]*alphavpar[46]+alphavpar[35]*fin[45]+fin[35]*alphavpar[45]+alphavpar[34]*fin[44]+fin[34]*alphavpar[44]+alphavpar[38]*fin[42]+fin[38]*alphavpar[42]+alphavpar[37]*fin[41]+fin[37]*alphavpar[41]+alphavpar[32]*fin[40]+fin[32]*alphavpar[40]+alphavpar[33]*fin[36]+fin[33]*alphavpar[36]+alphavpar[19]*fin[31]+fin[19]*alphavpar[31]+alphavpar[26]*fin[30]+fin[26]*alphavpar[30]+alphavpar[11]*fin[29]+fin[11]*alphavpar[29]+alphavpar[10]*fin[28]+fin[10]*alphavpar[28]+alphavpar[8]*fin[27]+fin[8]*alphavpar[27]+alphavpar[18]*fin[25]+fin[18]*alphavpar[25]+alphavpar[17]*fin[24]+fin[17]*alphavpar[24]+alphavpar[4]*fin[23]+fin[4]*alphavpar[23]+alphavpar[16]*fin[22]+fin[16]*alphavpar[22]+alphavpar[3]*fin[21]+fin[3]*alphavpar[21]+alphavpar[2]*fin[20]+fin[2]*alphavpar[20]+alphavpar[9]*fin[15]+fin[9]*alphavpar[15]+alphavpar[7]*fin[14]+fin[7]*alphavpar[14]+alphavpar[6]*fin[13]+fin[6]*alphavpar[13]+alphavpar[0]*fin[12]+fin[0]*alphavpar[12]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]); + out[24] += 0.3061862178478971*(alphavpar[38]*fin[47]+fin[38]*alphavpar[47]+alphavpar[35]*fin[46]+fin[35]*alphavpar[46]+alphavpar[43]*fin[45]+fin[43]*alphavpar[45]+alphavpar[33]*fin[44]+fin[33]*alphavpar[44]+alphavpar[39]*fin[42]+fin[39]*alphavpar[42]+alphavpar[32]*fin[41]+fin[32]*alphavpar[41]+alphavpar[37]*fin[40]+fin[37]*alphavpar[40]+alphavpar[34]*fin[36]+fin[34]*alphavpar[36]+alphavpar[18]*fin[31]+fin[18]*alphavpar[31]+alphavpar[11]*fin[30]+fin[11]*alphavpar[30]+alphavpar[26]*fin[29]+fin[26]*alphavpar[29]+alphavpar[9]*fin[28]+fin[9]*alphavpar[28]+alphavpar[7]*fin[27]+fin[7]*alphavpar[27]+alphavpar[19]*fin[25]+fin[19]*alphavpar[25]+alphavpar[4]*fin[24]+fin[4]*alphavpar[24]+alphavpar[17]*fin[23]+fin[17]*alphavpar[23]+alphavpar[3]*fin[22]+fin[3]*alphavpar[22]+alphavpar[16]*fin[21]+fin[16]*alphavpar[21]+alphavpar[1]*fin[20]+fin[1]*alphavpar[20]+alphavpar[10]*fin[15]+fin[10]*alphavpar[15]+alphavpar[8]*fin[14]+fin[8]*alphavpar[14]+alphavpar[0]*fin[13]+fin[0]*alphavpar[13]+alphavpar[6]*fin[12]+fin[6]*alphavpar[12]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]); + out[25] += 0.3061862178478971*(alphavpar[37]*fin[47]+fin[37]*alphavpar[47]+alphavpar[34]*fin[46]+fin[34]*alphavpar[46]+alphavpar[33]*fin[45]+fin[33]*alphavpar[45]+alphavpar[43]*fin[44]+fin[43]*alphavpar[44]+alphavpar[32]*fin[42]+fin[32]*alphavpar[42]+alphavpar[39]*fin[41]+fin[39]*alphavpar[41]+alphavpar[38]*fin[40]+fin[38]*alphavpar[40]+alphavpar[35]*fin[36]+fin[35]*alphavpar[36]+alphavpar[17]*fin[31]+fin[17]*alphavpar[31]+alphavpar[10]*fin[30]+fin[10]*alphavpar[30]+alphavpar[9]*fin[29]+fin[9]*alphavpar[29]+alphavpar[26]*fin[28]+fin[26]*alphavpar[28]+alphavpar[6]*fin[27]+fin[6]*alphavpar[27]+alphavpar[4]*fin[25]+fin[4]*alphavpar[25]+alphavpar[19]*fin[24]+fin[19]*alphavpar[24]+alphavpar[18]*fin[23]+fin[18]*alphavpar[23]+alphavpar[2]*fin[22]+fin[2]*alphavpar[22]+alphavpar[1]*fin[21]+fin[1]*alphavpar[21]+alphavpar[16]*fin[20]+fin[16]*alphavpar[20]+alphavpar[11]*fin[15]+fin[11]*alphavpar[15]+alphavpar[0]*fin[14]+fin[0]*alphavpar[14]+alphavpar[8]*fin[13]+fin[8]*alphavpar[13]+alphavpar[7]*fin[12]+fin[7]*alphavpar[12]+alphavpar[3]*fin[5]+fin[3]*alphavpar[5]); + out[26] += 0.3061862178478971*(alphavpar[36]*fin[47]+fin[36]*alphavpar[47]+alphavpar[40]*fin[46]+fin[40]*alphavpar[46]+alphavpar[41]*fin[45]+fin[41]*alphavpar[45]+alphavpar[42]*fin[44]+fin[42]*alphavpar[44]+alphavpar[32]*fin[43]+fin[32]*alphavpar[43]+alphavpar[33]*fin[39]+fin[33]*alphavpar[39]+alphavpar[34]*fin[38]+fin[34]*alphavpar[38]+alphavpar[35]*fin[37]+fin[35]*alphavpar[37]+alphavpar[15]*fin[31]+fin[15]*alphavpar[31]+alphavpar[23]*fin[30]+fin[23]*alphavpar[30]+alphavpar[24]*fin[29]+fin[24]*alphavpar[29]+alphavpar[25]*fin[28]+fin[25]*alphavpar[28]+alphavpar[5]*fin[27]+fin[5]*alphavpar[27]+alphavpar[4]*fin[26]+fin[4]*alphavpar[26]+alphavpar[12]*fin[22]+fin[12]*alphavpar[22]+alphavpar[13]*fin[21]+fin[13]*alphavpar[21]+alphavpar[14]*fin[20]+fin[14]*alphavpar[20]+alphavpar[9]*fin[19]+fin[9]*alphavpar[19]+alphavpar[10]*fin[18]+fin[10]*alphavpar[18]+alphavpar[11]*fin[17]+fin[11]*alphavpar[17]+alphavpar[0]*fin[16]+fin[0]*alphavpar[16]+alphavpar[1]*fin[8]+fin[1]*alphavpar[8]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]); + out[28] += 0.3061862178478971*(alphavpar[35]*fin[47]+fin[35]*alphavpar[47]+alphavpar[38]*fin[46]+fin[38]*alphavpar[46]+alphavpar[39]*fin[45]+fin[39]*alphavpar[45]+alphavpar[32]*fin[44]+fin[32]*alphavpar[44]+alphavpar[42]*fin[43]+fin[42]*alphavpar[43]+alphavpar[33]*fin[41]+fin[33]*alphavpar[41]+alphavpar[34]*fin[40]+fin[34]*alphavpar[40]+alphavpar[36]*fin[37]+fin[36]*alphavpar[37]+alphavpar[11]*fin[31]+fin[11]*alphavpar[31]+alphavpar[18]*fin[30]+fin[18]*alphavpar[30]+alphavpar[19]*fin[29]+fin[19]*alphavpar[29]+alphavpar[4]*fin[28]+fin[4]*alphavpar[28]+alphavpar[3]*fin[27]+fin[3]*alphavpar[27]+alphavpar[25]*fin[26]+fin[25]*alphavpar[26]+alphavpar[9]*fin[24]+fin[9]*alphavpar[24]+alphavpar[10]*fin[23]+fin[10]*alphavpar[23]+alphavpar[7]*fin[22]+fin[7]*alphavpar[22]+alphavpar[8]*fin[21]+fin[8]*alphavpar[21]+alphavpar[0]*fin[20]+fin[0]*alphavpar[20]+alphavpar[15]*fin[17]+fin[15]*alphavpar[17]+alphavpar[14]*fin[16]+fin[14]*alphavpar[16]+alphavpar[1]*fin[13]+fin[1]*alphavpar[13]+alphavpar[2]*fin[12]+fin[2]*alphavpar[12]+alphavpar[5]*fin[6]+fin[5]*alphavpar[6]); + out[29] += 0.3061862178478971*(alphavpar[34]*fin[47]+fin[34]*alphavpar[47]+alphavpar[37]*fin[46]+fin[37]*alphavpar[46]+alphavpar[32]*fin[45]+fin[32]*alphavpar[45]+alphavpar[39]*fin[44]+fin[39]*alphavpar[44]+alphavpar[41]*fin[43]+fin[41]*alphavpar[43]+alphavpar[33]*fin[42]+fin[33]*alphavpar[42]+alphavpar[35]*fin[40]+fin[35]*alphavpar[40]+alphavpar[36]*fin[38]+fin[36]*alphavpar[38]+alphavpar[10]*fin[31]+fin[10]*alphavpar[31]+alphavpar[17]*fin[30]+fin[17]*alphavpar[30]+alphavpar[4]*fin[29]+fin[4]*alphavpar[29]+alphavpar[19]*fin[28]+fin[19]*alphavpar[28]+alphavpar[2]*fin[27]+fin[2]*alphavpar[27]+alphavpar[24]*fin[26]+fin[24]*alphavpar[26]+alphavpar[9]*fin[25]+fin[9]*alphavpar[25]+alphavpar[11]*fin[23]+fin[11]*alphavpar[23]+alphavpar[6]*fin[22]+fin[6]*alphavpar[22]+alphavpar[0]*fin[21]+fin[0]*alphavpar[21]+alphavpar[8]*fin[20]+fin[8]*alphavpar[20]+alphavpar[15]*fin[18]+fin[15]*alphavpar[18]+alphavpar[13]*fin[16]+fin[13]*alphavpar[16]+alphavpar[1]*fin[14]+fin[1]*alphavpar[14]+alphavpar[3]*fin[12]+fin[3]*alphavpar[12]+alphavpar[5]*fin[7]+fin[5]*alphavpar[7]); + out[30] += 0.3061862178478971*(alphavpar[33]*fin[47]+fin[33]*alphavpar[47]+alphavpar[32]*fin[46]+fin[32]*alphavpar[46]+alphavpar[37]*fin[45]+fin[37]*alphavpar[45]+alphavpar[38]*fin[44]+fin[38]*alphavpar[44]+alphavpar[40]*fin[43]+fin[40]*alphavpar[43]+alphavpar[34]*fin[42]+fin[34]*alphavpar[42]+alphavpar[35]*fin[41]+fin[35]*alphavpar[41]+alphavpar[36]*fin[39]+fin[36]*alphavpar[39]+alphavpar[9]*fin[31]+fin[9]*alphavpar[31]+alphavpar[4]*fin[30]+fin[4]*alphavpar[30]+alphavpar[17]*fin[29]+fin[17]*alphavpar[29]+alphavpar[18]*fin[28]+fin[18]*alphavpar[28]+alphavpar[1]*fin[27]+fin[1]*alphavpar[27]+alphavpar[23]*fin[26]+fin[23]*alphavpar[26]+alphavpar[10]*fin[25]+fin[10]*alphavpar[25]+alphavpar[11]*fin[24]+fin[11]*alphavpar[24]+alphavpar[0]*fin[22]+fin[0]*alphavpar[22]+alphavpar[6]*fin[21]+fin[6]*alphavpar[21]+alphavpar[7]*fin[20]+fin[7]*alphavpar[20]+alphavpar[15]*fin[19]+fin[15]*alphavpar[19]+alphavpar[12]*fin[16]+fin[12]*alphavpar[16]+alphavpar[2]*fin[14]+fin[2]*alphavpar[14]+alphavpar[3]*fin[13]+fin[3]*alphavpar[13]+alphavpar[5]*fin[8]+fin[5]*alphavpar[8]); + out[31] += 0.3061862178478971*(alphavpar[32]*fin[47]+fin[32]*alphavpar[47]+alphavpar[33]*fin[46]+fin[33]*alphavpar[46]+alphavpar[34]*fin[45]+fin[34]*alphavpar[45]+alphavpar[35]*fin[44]+fin[35]*alphavpar[44]+alphavpar[36]*fin[43]+fin[36]*alphavpar[43]+alphavpar[37]*fin[42]+fin[37]*alphavpar[42]+alphavpar[38]*fin[41]+fin[38]*alphavpar[41]+alphavpar[39]*fin[40]+fin[39]*alphavpar[40]+alphavpar[4]*fin[31]+fin[4]*alphavpar[31]+alphavpar[9]*fin[30]+fin[9]*alphavpar[30]+alphavpar[10]*fin[29]+fin[10]*alphavpar[29]+alphavpar[11]*fin[28]+fin[11]*alphavpar[28]+alphavpar[0]*fin[27]+fin[0]*alphavpar[27]+alphavpar[15]*fin[26]+fin[15]*alphavpar[26]+alphavpar[17]*fin[25]+fin[17]*alphavpar[25]+alphavpar[18]*fin[24]+fin[18]*alphavpar[24]+alphavpar[19]*fin[23]+fin[19]*alphavpar[23]+alphavpar[1]*fin[22]+fin[1]*alphavpar[22]+alphavpar[2]*fin[21]+fin[2]*alphavpar[21]+alphavpar[3]*fin[20]+fin[3]*alphavpar[20]+alphavpar[5]*fin[16]+fin[5]*alphavpar[16]+alphavpar[6]*fin[14]+fin[6]*alphavpar[14]+alphavpar[7]*fin[13]+fin[7]*alphavpar[13]+alphavpar[8]*fin[12]+fin[8]*alphavpar[12]); + out[32] += 0.6123724356957944*(alphavpar[31]*fin[47]+fin[31]*alphavpar[47]+alphavpar[30]*fin[46]+fin[30]*alphavpar[46]+alphavpar[29]*fin[45]+fin[29]*alphavpar[45]+alphavpar[28]*fin[44]+fin[28]*alphavpar[44]+alphavpar[26]*fin[43]+fin[26]*alphavpar[43]+alphavpar[25]*fin[42]+fin[25]*alphavpar[42]+alphavpar[24]*fin[41]+fin[24]*alphavpar[41]+alphavpar[23]*fin[40]+fin[23]*alphavpar[40]+alphavpar[19]*fin[39]+fin[19]*alphavpar[39]+alphavpar[18]*fin[38]+fin[18]*alphavpar[38]+alphavpar[17]*fin[37]+fin[17]*alphavpar[37]+alphavpar[15]*fin[36]+fin[15]*alphavpar[36]+alphavpar[11]*fin[35]+fin[11]*alphavpar[35]+alphavpar[10]*fin[34]+fin[10]*alphavpar[34]+alphavpar[9]*fin[33]+fin[9]*alphavpar[33]+alphavpar[4]*fin[32]+fin[4]*alphavpar[32])+0.6846531968814573*(alphavpar[27]*fin[31]+fin[27]*alphavpar[31]+alphavpar[22]*fin[30]+fin[22]*alphavpar[30]+alphavpar[21]*fin[29]+fin[21]*alphavpar[29]+alphavpar[20]*fin[28]+fin[20]*alphavpar[28]+alphavpar[16]*fin[26]+fin[16]*alphavpar[26]+alphavpar[14]*fin[25]+fin[14]*alphavpar[25]+alphavpar[13]*fin[24]+fin[13]*alphavpar[24]+alphavpar[12]*fin[23]+fin[12]*alphavpar[23]+alphavpar[8]*fin[19]+fin[8]*alphavpar[19]+alphavpar[7]*fin[18]+fin[7]*alphavpar[18]+alphavpar[6]*fin[17]+fin[6]*alphavpar[17]+alphavpar[5]*fin[15]+fin[5]*alphavpar[15]+alphavpar[3]*fin[11]+fin[3]*alphavpar[11]+alphavpar[2]*fin[10]+fin[2]*alphavpar[10]+alphavpar[1]*fin[9]+fin[1]*alphavpar[9]+alphavpar[0]*fin[4]+fin[0]*alphavpar[4]); + out[33] += 0.6123724356957944*(alphavpar[30]*fin[47]+fin[30]*alphavpar[47]+alphavpar[31]*fin[46]+fin[31]*alphavpar[46]+alphavpar[25]*fin[45]+fin[25]*alphavpar[45]+alphavpar[24]*fin[44]+fin[24]*alphavpar[44]+alphavpar[19]*fin[43]+fin[19]*alphavpar[43]+alphavpar[29]*fin[42]+fin[29]*alphavpar[42]+alphavpar[28]*fin[41]+fin[28]*alphavpar[41]+alphavpar[15]*fin[40]+fin[15]*alphavpar[40]+alphavpar[26]*fin[39]+fin[26]*alphavpar[39]+alphavpar[11]*fin[38]+fin[11]*alphavpar[38]+alphavpar[10]*fin[37]+fin[10]*alphavpar[37]+alphavpar[23]*fin[36]+fin[23]*alphavpar[36]+alphavpar[18]*fin[35]+fin[18]*alphavpar[35]+alphavpar[17]*fin[34]+fin[17]*alphavpar[34]+alphavpar[4]*fin[33]+fin[4]*alphavpar[33]+alphavpar[9]*fin[32]+fin[9]*alphavpar[32])+0.6846531968814574*(alphavpar[22]*fin[31]+fin[22]*alphavpar[31]+alphavpar[27]*fin[30]+fin[27]*alphavpar[30]+alphavpar[14]*fin[29]+fin[14]*alphavpar[29]+alphavpar[13]*fin[28]+fin[13]*alphavpar[28]+alphavpar[8]*fin[26]+fin[8]*alphavpar[26]+alphavpar[21]*fin[25]+fin[21]*alphavpar[25]+alphavpar[20]*fin[24]+fin[20]*alphavpar[24]+alphavpar[5]*fin[23]+fin[5]*alphavpar[23]+alphavpar[16]*fin[19]+fin[16]*alphavpar[19]+alphavpar[3]*fin[18]+fin[3]*alphavpar[18]+alphavpar[2]*fin[17]+fin[2]*alphavpar[17]+alphavpar[12]*fin[15]+fin[12]*alphavpar[15]+alphavpar[7]*fin[11]+fin[7]*alphavpar[11]+alphavpar[6]*fin[10]+fin[6]*alphavpar[10]+alphavpar[0]*fin[9]+fin[0]*alphavpar[9]+alphavpar[1]*fin[4]+fin[1]*alphavpar[4]); + out[34] += 0.6123724356957944*(alphavpar[29]*fin[47]+fin[29]*alphavpar[47]+alphavpar[25]*fin[46]+fin[25]*alphavpar[46]+alphavpar[31]*fin[45]+fin[31]*alphavpar[45]+alphavpar[23]*fin[44]+fin[23]*alphavpar[44]+alphavpar[18]*fin[43]+fin[18]*alphavpar[43]+alphavpar[30]*fin[42]+fin[30]*alphavpar[42]+alphavpar[15]*fin[41]+fin[15]*alphavpar[41]+alphavpar[28]*fin[40]+fin[28]*alphavpar[40]+alphavpar[11]*fin[39]+fin[11]*alphavpar[39]+alphavpar[26]*fin[38]+fin[26]*alphavpar[38]+alphavpar[9]*fin[37]+fin[9]*alphavpar[37]+alphavpar[24]*fin[36]+fin[24]*alphavpar[36]+alphavpar[19]*fin[35]+fin[19]*alphavpar[35]+alphavpar[4]*fin[34]+fin[4]*alphavpar[34]+alphavpar[17]*fin[33]+fin[17]*alphavpar[33]+alphavpar[10]*fin[32]+fin[10]*alphavpar[32])+0.6846531968814574*(alphavpar[21]*fin[31]+fin[21]*alphavpar[31]+alphavpar[14]*fin[30]+fin[14]*alphavpar[30]+alphavpar[27]*fin[29]+fin[27]*alphavpar[29]+alphavpar[12]*fin[28]+fin[12]*alphavpar[28]+alphavpar[7]*fin[26]+fin[7]*alphavpar[26]+alphavpar[22]*fin[25]+fin[22]*alphavpar[25]+alphavpar[5]*fin[24]+fin[5]*alphavpar[24]+alphavpar[20]*fin[23]+fin[20]*alphavpar[23]+alphavpar[3]*fin[19]+fin[3]*alphavpar[19]+alphavpar[16]*fin[18]+fin[16]*alphavpar[18]+alphavpar[1]*fin[17]+fin[1]*alphavpar[17]+alphavpar[13]*fin[15]+fin[13]*alphavpar[15]+alphavpar[8]*fin[11]+fin[8]*alphavpar[11]+alphavpar[0]*fin[10]+fin[0]*alphavpar[10]+alphavpar[6]*fin[9]+fin[6]*alphavpar[9]+alphavpar[2]*fin[4]+fin[2]*alphavpar[4]); + out[35] += 0.6123724356957944*(alphavpar[28]*fin[47]+fin[28]*alphavpar[47]+alphavpar[24]*fin[46]+fin[24]*alphavpar[46]+alphavpar[23]*fin[45]+fin[23]*alphavpar[45]+alphavpar[31]*fin[44]+fin[31]*alphavpar[44]+alphavpar[17]*fin[43]+fin[17]*alphavpar[43]+alphavpar[15]*fin[42]+fin[15]*alphavpar[42]+alphavpar[30]*fin[41]+fin[30]*alphavpar[41]+alphavpar[29]*fin[40]+fin[29]*alphavpar[40]+alphavpar[10]*fin[39]+fin[10]*alphavpar[39]+alphavpar[9]*fin[38]+fin[9]*alphavpar[38]+alphavpar[26]*fin[37]+fin[26]*alphavpar[37]+alphavpar[25]*fin[36]+fin[25]*alphavpar[36]+alphavpar[4]*fin[35]+fin[4]*alphavpar[35]+alphavpar[19]*fin[34]+fin[19]*alphavpar[34]+alphavpar[18]*fin[33]+fin[18]*alphavpar[33]+alphavpar[11]*fin[32]+fin[11]*alphavpar[32])+0.6846531968814574*(alphavpar[20]*fin[31]+fin[20]*alphavpar[31]+alphavpar[13]*fin[30]+fin[13]*alphavpar[30]+alphavpar[12]*fin[29]+fin[12]*alphavpar[29]+alphavpar[27]*fin[28]+fin[27]*alphavpar[28]+alphavpar[6]*fin[26]+fin[6]*alphavpar[26]+alphavpar[5]*fin[25]+fin[5]*alphavpar[25]+alphavpar[22]*fin[24]+fin[22]*alphavpar[24]+alphavpar[21]*fin[23]+fin[21]*alphavpar[23]+alphavpar[2]*fin[19]+fin[2]*alphavpar[19]+alphavpar[1]*fin[18]+fin[1]*alphavpar[18]+alphavpar[16]*fin[17]+fin[16]*alphavpar[17]+alphavpar[14]*fin[15]+fin[14]*alphavpar[15]+alphavpar[0]*fin[11]+fin[0]*alphavpar[11]+alphavpar[8]*fin[10]+fin[8]*alphavpar[10]+alphavpar[7]*fin[9]+fin[7]*alphavpar[9]+alphavpar[3]*fin[4]+fin[3]*alphavpar[4]); + out[36] += 0.6123724356957944*(alphavpar[26]*fin[47]+fin[26]*alphavpar[47]+alphavpar[19]*fin[46]+fin[19]*alphavpar[46]+alphavpar[18]*fin[45]+fin[18]*alphavpar[45]+alphavpar[17]*fin[44]+fin[17]*alphavpar[44]+alphavpar[31]*fin[43]+fin[31]*alphavpar[43]+alphavpar[11]*fin[42]+fin[11]*alphavpar[42]+alphavpar[10]*fin[41]+fin[10]*alphavpar[41]+alphavpar[9]*fin[40]+fin[9]*alphavpar[40]+alphavpar[30]*fin[39]+fin[30]*alphavpar[39]+alphavpar[29]*fin[38]+fin[29]*alphavpar[38]+alphavpar[28]*fin[37]+fin[28]*alphavpar[37]+alphavpar[4]*fin[36]+fin[4]*alphavpar[36]+alphavpar[25]*fin[35]+fin[25]*alphavpar[35]+alphavpar[24]*fin[34]+fin[24]*alphavpar[34]+alphavpar[23]*fin[33]+fin[23]*alphavpar[33]+alphavpar[15]*fin[32]+fin[15]*alphavpar[32])+0.6846531968814574*(alphavpar[16]*fin[31]+fin[16]*alphavpar[31]+alphavpar[8]*fin[30]+fin[8]*alphavpar[30]+alphavpar[7]*fin[29]+fin[7]*alphavpar[29]+alphavpar[6]*fin[28]+fin[6]*alphavpar[28]+alphavpar[26]*fin[27]+fin[26]*alphavpar[27]+alphavpar[3]*fin[25]+fin[3]*alphavpar[25]+alphavpar[2]*fin[24]+fin[2]*alphavpar[24]+alphavpar[1]*fin[23]+fin[1]*alphavpar[23]+alphavpar[19]*fin[22]+fin[19]*alphavpar[22]+alphavpar[18]*fin[21]+fin[18]*alphavpar[21]+alphavpar[17]*fin[20]+fin[17]*alphavpar[20]+alphavpar[0]*fin[15]+fin[0]*alphavpar[15]+alphavpar[11]*fin[14]+fin[11]*alphavpar[14]+alphavpar[10]*fin[13]+fin[10]*alphavpar[13]+alphavpar[9]*fin[12]+fin[9]*alphavpar[12]+alphavpar[4]*fin[5]+fin[4]*alphavpar[5]); + out[37] += 0.6123724356957944*(alphavpar[25]*fin[47]+fin[25]*alphavpar[47]+alphavpar[29]*fin[46]+fin[29]*alphavpar[46]+alphavpar[30]*fin[45]+fin[30]*alphavpar[45]+alphavpar[15]*fin[44]+fin[15]*alphavpar[44]+alphavpar[11]*fin[43]+fin[11]*alphavpar[43]+alphavpar[31]*fin[42]+fin[31]*alphavpar[42]+alphavpar[23]*fin[41]+fin[23]*alphavpar[41]+alphavpar[24]*fin[40]+fin[24]*alphavpar[40]+alphavpar[18]*fin[39]+fin[18]*alphavpar[39]+alphavpar[19]*fin[38]+fin[19]*alphavpar[38]+alphavpar[4]*fin[37]+fin[4]*alphavpar[37]+alphavpar[28]*fin[36]+fin[28]*alphavpar[36]+alphavpar[26]*fin[35]+fin[26]*alphavpar[35]+alphavpar[9]*fin[34]+fin[9]*alphavpar[34]+alphavpar[10]*fin[33]+fin[10]*alphavpar[33]+alphavpar[17]*fin[32]+fin[17]*alphavpar[32])+0.6846531968814573*(alphavpar[14]*fin[31]+fin[14]*alphavpar[31]+alphavpar[21]*fin[30]+fin[21]*alphavpar[30]+alphavpar[22]*fin[29]+fin[22]*alphavpar[29]+alphavpar[5]*fin[28]+fin[5]*alphavpar[28]+alphavpar[25]*fin[27]+fin[25]*alphavpar[27]+alphavpar[3]*fin[26]+fin[3]*alphavpar[26]+alphavpar[12]*fin[24]+fin[12]*alphavpar[24]+alphavpar[13]*fin[23]+fin[13]*alphavpar[23]+alphavpar[15]*fin[20]+fin[15]*alphavpar[20]+alphavpar[7]*fin[19]+fin[7]*alphavpar[19]+alphavpar[8]*fin[18]+fin[8]*alphavpar[18]+alphavpar[0]*fin[17]+fin[0]*alphavpar[17]+alphavpar[11]*fin[16]+fin[11]*alphavpar[16]+alphavpar[1]*fin[10]+fin[1]*alphavpar[10]+alphavpar[2]*fin[9]+fin[2]*alphavpar[9]+alphavpar[4]*fin[6]+fin[4]*alphavpar[6]); + out[38] += 0.6123724356957944*(alphavpar[24]*fin[47]+fin[24]*alphavpar[47]+alphavpar[28]*fin[46]+fin[28]*alphavpar[46]+alphavpar[15]*fin[45]+fin[15]*alphavpar[45]+alphavpar[30]*fin[44]+fin[30]*alphavpar[44]+alphavpar[10]*fin[43]+fin[10]*alphavpar[43]+alphavpar[23]*fin[42]+fin[23]*alphavpar[42]+alphavpar[31]*fin[41]+fin[31]*alphavpar[41]+alphavpar[25]*fin[40]+fin[25]*alphavpar[40]+alphavpar[17]*fin[39]+fin[17]*alphavpar[39]+alphavpar[4]*fin[38]+fin[4]*alphavpar[38]+alphavpar[19]*fin[37]+fin[19]*alphavpar[37]+alphavpar[29]*fin[36]+fin[29]*alphavpar[36]+alphavpar[9]*fin[35]+fin[9]*alphavpar[35]+alphavpar[26]*fin[34]+fin[26]*alphavpar[34]+alphavpar[11]*fin[33]+fin[11]*alphavpar[33]+alphavpar[18]*fin[32]+fin[18]*alphavpar[32])+0.6846531968814573*(alphavpar[13]*fin[31]+fin[13]*alphavpar[31]+alphavpar[20]*fin[30]+fin[20]*alphavpar[30]+alphavpar[5]*fin[29]+fin[5]*alphavpar[29]+alphavpar[22]*fin[28]+fin[22]*alphavpar[28]+alphavpar[24]*fin[27]+fin[24]*alphavpar[27]+alphavpar[2]*fin[26]+fin[2]*alphavpar[26]+alphavpar[12]*fin[25]+fin[12]*alphavpar[25]+alphavpar[14]*fin[23]+fin[14]*alphavpar[23]+alphavpar[15]*fin[21]+fin[15]*alphavpar[21]+alphavpar[6]*fin[19]+fin[6]*alphavpar[19]+alphavpar[0]*fin[18]+fin[0]*alphavpar[18]+alphavpar[8]*fin[17]+fin[8]*alphavpar[17]+alphavpar[10]*fin[16]+fin[10]*alphavpar[16]+alphavpar[1]*fin[11]+fin[1]*alphavpar[11]+alphavpar[3]*fin[9]+fin[3]*alphavpar[9]+alphavpar[4]*fin[7]+fin[4]*alphavpar[7]); + out[39] += 0.6123724356957944*(alphavpar[23]*fin[47]+fin[23]*alphavpar[47]+alphavpar[15]*fin[46]+fin[15]*alphavpar[46]+alphavpar[28]*fin[45]+fin[28]*alphavpar[45]+alphavpar[29]*fin[44]+fin[29]*alphavpar[44]+alphavpar[9]*fin[43]+fin[9]*alphavpar[43]+alphavpar[24]*fin[42]+fin[24]*alphavpar[42]+alphavpar[25]*fin[41]+fin[25]*alphavpar[41]+alphavpar[31]*fin[40]+fin[31]*alphavpar[40]+alphavpar[4]*fin[39]+fin[4]*alphavpar[39]+alphavpar[17]*fin[38]+fin[17]*alphavpar[38]+alphavpar[18]*fin[37]+fin[18]*alphavpar[37]+alphavpar[30]*fin[36]+fin[30]*alphavpar[36]+alphavpar[10]*fin[35]+fin[10]*alphavpar[35]+alphavpar[11]*fin[34]+fin[11]*alphavpar[34]+alphavpar[26]*fin[33]+fin[26]*alphavpar[33]+alphavpar[19]*fin[32]+fin[19]*alphavpar[32])+0.6846531968814573*(alphavpar[12]*fin[31]+fin[12]*alphavpar[31]+alphavpar[5]*fin[30]+fin[5]*alphavpar[30]+alphavpar[20]*fin[29]+fin[20]*alphavpar[29]+alphavpar[21]*fin[28]+fin[21]*alphavpar[28]+alphavpar[23]*fin[27]+fin[23]*alphavpar[27]+alphavpar[1]*fin[26]+fin[1]*alphavpar[26]+alphavpar[13]*fin[25]+fin[13]*alphavpar[25]+alphavpar[14]*fin[24]+fin[14]*alphavpar[24]+alphavpar[15]*fin[22]+fin[15]*alphavpar[22]+alphavpar[0]*fin[19]+fin[0]*alphavpar[19]+alphavpar[6]*fin[18]+fin[6]*alphavpar[18]+alphavpar[7]*fin[17]+fin[7]*alphavpar[17]+alphavpar[9]*fin[16]+fin[9]*alphavpar[16]+alphavpar[2]*fin[11]+fin[2]*alphavpar[11]+alphavpar[3]*fin[10]+fin[3]*alphavpar[10]+alphavpar[4]*fin[8]+fin[4]*alphavpar[8]); + out[40] += 0.6123724356957944*(alphavpar[19]*fin[47]+fin[19]*alphavpar[47]+alphavpar[26]*fin[46]+fin[26]*alphavpar[46]+alphavpar[11]*fin[45]+fin[11]*alphavpar[45]+alphavpar[10]*fin[44]+fin[10]*alphavpar[44]+alphavpar[30]*fin[43]+fin[30]*alphavpar[43]+alphavpar[18]*fin[42]+fin[18]*alphavpar[42]+alphavpar[17]*fin[41]+fin[17]*alphavpar[41]+alphavpar[4]*fin[40]+fin[4]*alphavpar[40]+alphavpar[31]*fin[39]+fin[31]*alphavpar[39]+alphavpar[25]*fin[38]+fin[25]*alphavpar[38]+alphavpar[24]*fin[37]+fin[24]*alphavpar[37]+alphavpar[9]*fin[36]+fin[9]*alphavpar[36]+alphavpar[29]*fin[35]+fin[29]*alphavpar[35]+alphavpar[28]*fin[34]+fin[28]*alphavpar[34]+alphavpar[15]*fin[33]+fin[15]*alphavpar[33]+alphavpar[23]*fin[32]+fin[23]*alphavpar[32])+0.6846531968814573*(alphavpar[8]*fin[31]+fin[8]*alphavpar[31]+alphavpar[16]*fin[30]+fin[16]*alphavpar[30]+alphavpar[3]*fin[29]+fin[3]*alphavpar[29]+alphavpar[2]*fin[28]+fin[2]*alphavpar[28]+alphavpar[19]*fin[27]+fin[19]*alphavpar[27]+alphavpar[22]*fin[26]+fin[22]*alphavpar[26]+alphavpar[7]*fin[25]+fin[7]*alphavpar[25]+alphavpar[6]*fin[24]+fin[6]*alphavpar[24]+alphavpar[0]*fin[23]+fin[0]*alphavpar[23]+alphavpar[11]*fin[21]+fin[11]*alphavpar[21]+alphavpar[10]*fin[20]+fin[10]*alphavpar[20]+alphavpar[14]*fin[18]+fin[14]*alphavpar[18]+alphavpar[13]*fin[17]+fin[13]*alphavpar[17]+alphavpar[1]*fin[15]+fin[1]*alphavpar[15]+alphavpar[4]*fin[12]+fin[4]*alphavpar[12]+alphavpar[5]*fin[9]+fin[5]*alphavpar[9]); + out[41] += 0.6123724356957944*(alphavpar[18]*fin[47]+fin[18]*alphavpar[47]+alphavpar[11]*fin[46]+fin[11]*alphavpar[46]+alphavpar[26]*fin[45]+fin[26]*alphavpar[45]+alphavpar[9]*fin[44]+fin[9]*alphavpar[44]+alphavpar[29]*fin[43]+fin[29]*alphavpar[43]+alphavpar[19]*fin[42]+fin[19]*alphavpar[42]+alphavpar[4]*fin[41]+fin[4]*alphavpar[41]+alphavpar[17]*fin[40]+fin[17]*alphavpar[40]+alphavpar[25]*fin[39]+fin[25]*alphavpar[39]+alphavpar[31]*fin[38]+fin[31]*alphavpar[38]+alphavpar[23]*fin[37]+fin[23]*alphavpar[37]+alphavpar[10]*fin[36]+fin[10]*alphavpar[36]+alphavpar[30]*fin[35]+fin[30]*alphavpar[35]+alphavpar[15]*fin[34]+fin[15]*alphavpar[34]+alphavpar[28]*fin[33]+fin[28]*alphavpar[33]+alphavpar[24]*fin[32]+fin[24]*alphavpar[32])+0.6846531968814573*(alphavpar[7]*fin[31]+fin[7]*alphavpar[31]+alphavpar[3]*fin[30]+fin[3]*alphavpar[30]+alphavpar[16]*fin[29]+fin[16]*alphavpar[29]+alphavpar[1]*fin[28]+fin[1]*alphavpar[28]+alphavpar[18]*fin[27]+fin[18]*alphavpar[27]+alphavpar[21]*fin[26]+fin[21]*alphavpar[26]+alphavpar[8]*fin[25]+fin[8]*alphavpar[25]+alphavpar[0]*fin[24]+fin[0]*alphavpar[24]+alphavpar[6]*fin[23]+fin[6]*alphavpar[23]+alphavpar[11]*fin[22]+fin[11]*alphavpar[22]+alphavpar[9]*fin[20]+fin[9]*alphavpar[20]+alphavpar[14]*fin[19]+fin[14]*alphavpar[19]+alphavpar[12]*fin[17]+fin[12]*alphavpar[17]+alphavpar[2]*fin[15]+fin[2]*alphavpar[15]+alphavpar[4]*fin[13]+fin[4]*alphavpar[13]+alphavpar[5]*fin[10]+fin[5]*alphavpar[10]); + out[42] += 0.6123724356957944*(alphavpar[17]*fin[47]+fin[17]*alphavpar[47]+alphavpar[10]*fin[46]+fin[10]*alphavpar[46]+alphavpar[9]*fin[45]+fin[9]*alphavpar[45]+alphavpar[26]*fin[44]+fin[26]*alphavpar[44]+alphavpar[28]*fin[43]+fin[28]*alphavpar[43]+alphavpar[4]*fin[42]+fin[4]*alphavpar[42]+alphavpar[19]*fin[41]+fin[19]*alphavpar[41]+alphavpar[18]*fin[40]+fin[18]*alphavpar[40]+alphavpar[24]*fin[39]+fin[24]*alphavpar[39]+alphavpar[23]*fin[38]+fin[23]*alphavpar[38]+alphavpar[31]*fin[37]+fin[31]*alphavpar[37]+alphavpar[11]*fin[36]+fin[11]*alphavpar[36]+alphavpar[15]*fin[35]+fin[15]*alphavpar[35]+alphavpar[30]*fin[34]+fin[30]*alphavpar[34]+alphavpar[29]*fin[33]+fin[29]*alphavpar[33]+alphavpar[25]*fin[32]+fin[25]*alphavpar[32])+0.6846531968814573*(alphavpar[6]*fin[31]+fin[6]*alphavpar[31]+alphavpar[2]*fin[30]+fin[2]*alphavpar[30]+alphavpar[1]*fin[29]+fin[1]*alphavpar[29]+alphavpar[16]*fin[28]+fin[16]*alphavpar[28]+alphavpar[17]*fin[27]+fin[17]*alphavpar[27]+alphavpar[20]*fin[26]+fin[20]*alphavpar[26]+alphavpar[0]*fin[25]+fin[0]*alphavpar[25]+alphavpar[8]*fin[24]+fin[8]*alphavpar[24]+alphavpar[7]*fin[23]+fin[7]*alphavpar[23]+alphavpar[10]*fin[22]+fin[10]*alphavpar[22]+alphavpar[9]*fin[21]+fin[9]*alphavpar[21]+alphavpar[13]*fin[19]+fin[13]*alphavpar[19]+alphavpar[12]*fin[18]+fin[12]*alphavpar[18]+alphavpar[3]*fin[15]+fin[3]*alphavpar[15]+alphavpar[4]*fin[14]+fin[4]*alphavpar[14]+alphavpar[5]*fin[11]+fin[5]*alphavpar[11]); + out[43] += 0.6123724356957944*(alphavpar[15]*fin[47]+fin[15]*alphavpar[47]+alphavpar[23]*fin[46]+fin[23]*alphavpar[46]+alphavpar[24]*fin[45]+fin[24]*alphavpar[45]+alphavpar[25]*fin[44]+fin[25]*alphavpar[44]+alphavpar[4]*fin[43]+fin[4]*alphavpar[43]+alphavpar[28]*fin[42]+fin[28]*alphavpar[42]+alphavpar[29]*fin[41]+fin[29]*alphavpar[41]+alphavpar[30]*fin[40]+fin[30]*alphavpar[40]+alphavpar[9]*fin[39]+fin[9]*alphavpar[39]+alphavpar[10]*fin[38]+fin[10]*alphavpar[38]+alphavpar[11]*fin[37]+fin[11]*alphavpar[37]+alphavpar[31]*fin[36]+fin[31]*alphavpar[36]+alphavpar[17]*fin[35]+fin[17]*alphavpar[35]+alphavpar[18]*fin[34]+fin[18]*alphavpar[34]+alphavpar[19]*fin[33]+fin[19]*alphavpar[33]+alphavpar[26]*fin[32]+fin[26]*alphavpar[32])+0.6846531968814574*(alphavpar[5]*fin[31]+fin[5]*alphavpar[31]+alphavpar[12]*fin[30]+fin[12]*alphavpar[30]+alphavpar[13]*fin[29]+fin[13]*alphavpar[29]+alphavpar[14]*fin[28]+fin[14]*alphavpar[28]+alphavpar[15]*fin[27]+fin[15]*alphavpar[27]+alphavpar[0]*fin[26]+fin[0]*alphavpar[26]+alphavpar[20]*fin[25]+fin[20]*alphavpar[25]+alphavpar[21]*fin[24]+fin[21]*alphavpar[24]+alphavpar[22]*fin[23]+fin[22]*alphavpar[23]+alphavpar[1]*fin[19]+fin[1]*alphavpar[19]+alphavpar[2]*fin[18]+fin[2]*alphavpar[18]+alphavpar[3]*fin[17]+fin[3]*alphavpar[17]+alphavpar[4]*fin[16]+fin[4]*alphavpar[16]+alphavpar[6]*fin[11]+fin[6]*alphavpar[11]+alphavpar[7]*fin[10]+fin[7]*alphavpar[10]+alphavpar[8]*fin[9]+fin[8]*alphavpar[9]); + out[44] += 0.6123724356957944*(alphavpar[11]*fin[47]+fin[11]*alphavpar[47]+alphavpar[18]*fin[46]+fin[18]*alphavpar[46]+alphavpar[19]*fin[45]+fin[19]*alphavpar[45]+alphavpar[4]*fin[44]+fin[4]*alphavpar[44]+alphavpar[25]*fin[43]+fin[25]*alphavpar[43]+alphavpar[26]*fin[42]+fin[26]*alphavpar[42]+alphavpar[9]*fin[41]+fin[9]*alphavpar[41]+alphavpar[10]*fin[40]+fin[10]*alphavpar[40]+alphavpar[29]*fin[39]+fin[29]*alphavpar[39]+alphavpar[30]*fin[38]+fin[30]*alphavpar[38]+alphavpar[15]*fin[37]+fin[15]*alphavpar[37]+alphavpar[17]*fin[36]+fin[17]*alphavpar[36]+alphavpar[31]*fin[35]+fin[31]*alphavpar[35]+alphavpar[23]*fin[34]+fin[23]*alphavpar[34]+alphavpar[24]*fin[33]+fin[24]*alphavpar[33]+alphavpar[28]*fin[32]+fin[28]*alphavpar[32])+0.6846531968814574*(alphavpar[3]*fin[31]+fin[3]*alphavpar[31]+alphavpar[7]*fin[30]+fin[7]*alphavpar[30]+alphavpar[8]*fin[29]+fin[8]*alphavpar[29]+alphavpar[0]*fin[28]+fin[0]*alphavpar[28]+alphavpar[11]*fin[27]+fin[11]*alphavpar[27]+alphavpar[14]*fin[26]+fin[14]*alphavpar[26]+alphavpar[16]*fin[25]+fin[16]*alphavpar[25]+alphavpar[1]*fin[24]+fin[1]*alphavpar[24]+alphavpar[2]*fin[23]+fin[2]*alphavpar[23]+alphavpar[18]*fin[22]+fin[18]*alphavpar[22]+alphavpar[19]*fin[21]+fin[19]*alphavpar[21]+alphavpar[4]*fin[20]+fin[4]*alphavpar[20]+alphavpar[5]*fin[17]+fin[5]*alphavpar[17]+alphavpar[6]*fin[15]+fin[6]*alphavpar[15]+alphavpar[9]*fin[13]+fin[9]*alphavpar[13]+alphavpar[10]*fin[12]+fin[10]*alphavpar[12]); + out[45] += 0.6123724356957944*(alphavpar[10]*fin[47]+fin[10]*alphavpar[47]+alphavpar[17]*fin[46]+fin[17]*alphavpar[46]+alphavpar[4]*fin[45]+fin[4]*alphavpar[45]+alphavpar[19]*fin[44]+fin[19]*alphavpar[44]+alphavpar[24]*fin[43]+fin[24]*alphavpar[43]+alphavpar[9]*fin[42]+fin[9]*alphavpar[42]+alphavpar[26]*fin[41]+fin[26]*alphavpar[41]+alphavpar[11]*fin[40]+fin[11]*alphavpar[40]+alphavpar[28]*fin[39]+fin[28]*alphavpar[39]+alphavpar[15]*fin[38]+fin[15]*alphavpar[38]+alphavpar[30]*fin[37]+fin[30]*alphavpar[37]+alphavpar[18]*fin[36]+fin[18]*alphavpar[36]+alphavpar[23]*fin[35]+fin[23]*alphavpar[35]+alphavpar[31]*fin[34]+fin[31]*alphavpar[34]+alphavpar[25]*fin[33]+fin[25]*alphavpar[33]+alphavpar[29]*fin[32]+fin[29]*alphavpar[32])+0.6846531968814574*(alphavpar[2]*fin[31]+fin[2]*alphavpar[31]+alphavpar[6]*fin[30]+fin[6]*alphavpar[30]+alphavpar[0]*fin[29]+fin[0]*alphavpar[29]+alphavpar[8]*fin[28]+fin[8]*alphavpar[28]+alphavpar[10]*fin[27]+fin[10]*alphavpar[27]+alphavpar[13]*fin[26]+fin[13]*alphavpar[26]+alphavpar[1]*fin[25]+fin[1]*alphavpar[25]+alphavpar[16]*fin[24]+fin[16]*alphavpar[24]+alphavpar[3]*fin[23]+fin[3]*alphavpar[23]+alphavpar[17]*fin[22]+fin[17]*alphavpar[22]+alphavpar[4]*fin[21]+fin[4]*alphavpar[21]+alphavpar[19]*fin[20]+fin[19]*alphavpar[20]+alphavpar[5]*fin[18]+fin[5]*alphavpar[18]+alphavpar[7]*fin[15]+fin[7]*alphavpar[15]+alphavpar[9]*fin[14]+fin[9]*alphavpar[14]+alphavpar[11]*fin[12]+fin[11]*alphavpar[12]); + out[46] += 0.6123724356957944*(alphavpar[9]*fin[47]+fin[9]*alphavpar[47]+alphavpar[4]*fin[46]+fin[4]*alphavpar[46]+alphavpar[17]*fin[45]+fin[17]*alphavpar[45]+alphavpar[18]*fin[44]+fin[18]*alphavpar[44]+alphavpar[23]*fin[43]+fin[23]*alphavpar[43]+alphavpar[10]*fin[42]+fin[10]*alphavpar[42]+alphavpar[11]*fin[41]+fin[11]*alphavpar[41]+alphavpar[26]*fin[40]+fin[26]*alphavpar[40]+alphavpar[15]*fin[39]+fin[15]*alphavpar[39]+alphavpar[28]*fin[38]+fin[28]*alphavpar[38]+alphavpar[29]*fin[37]+fin[29]*alphavpar[37]+alphavpar[19]*fin[36]+fin[19]*alphavpar[36]+alphavpar[24]*fin[35]+fin[24]*alphavpar[35]+alphavpar[25]*fin[34]+fin[25]*alphavpar[34]+alphavpar[31]*fin[33]+fin[31]*alphavpar[33]+alphavpar[30]*fin[32]+fin[30]*alphavpar[32])+0.6846531968814574*(alphavpar[1]*fin[31]+fin[1]*alphavpar[31]+alphavpar[0]*fin[30]+fin[0]*alphavpar[30]+alphavpar[6]*fin[29]+fin[6]*alphavpar[29]+alphavpar[7]*fin[28]+fin[7]*alphavpar[28]+alphavpar[9]*fin[27]+fin[9]*alphavpar[27]+alphavpar[12]*fin[26]+fin[12]*alphavpar[26]+alphavpar[2]*fin[25]+fin[2]*alphavpar[25]+alphavpar[3]*fin[24]+fin[3]*alphavpar[24]+alphavpar[16]*fin[23]+fin[16]*alphavpar[23]+alphavpar[4]*fin[22]+fin[4]*alphavpar[22]+alphavpar[17]*fin[21]+fin[17]*alphavpar[21]+alphavpar[18]*fin[20]+fin[18]*alphavpar[20]+alphavpar[5]*fin[19]+fin[5]*alphavpar[19]+alphavpar[8]*fin[15]+fin[8]*alphavpar[15]+alphavpar[10]*fin[14]+fin[10]*alphavpar[14]+alphavpar[11]*fin[13]+fin[11]*alphavpar[13]); + out[47] += 0.6123724356957944*(alphavpar[4]*fin[47]+fin[4]*alphavpar[47]+alphavpar[9]*fin[46]+fin[9]*alphavpar[46]+alphavpar[10]*fin[45]+fin[10]*alphavpar[45]+alphavpar[11]*fin[44]+fin[11]*alphavpar[44]+alphavpar[15]*fin[43]+fin[15]*alphavpar[43]+alphavpar[17]*fin[42]+fin[17]*alphavpar[42]+alphavpar[18]*fin[41]+fin[18]*alphavpar[41]+alphavpar[19]*fin[40]+fin[19]*alphavpar[40]+alphavpar[23]*fin[39]+fin[23]*alphavpar[39]+alphavpar[24]*fin[38]+fin[24]*alphavpar[38]+alphavpar[25]*fin[37]+fin[25]*alphavpar[37]+alphavpar[26]*fin[36]+fin[26]*alphavpar[36]+alphavpar[28]*fin[35]+fin[28]*alphavpar[35]+alphavpar[29]*fin[34]+fin[29]*alphavpar[34]+alphavpar[30]*fin[33]+fin[30]*alphavpar[33]+alphavpar[31]*fin[32]+fin[31]*alphavpar[32])+0.6846531968814573*(alphavpar[0]*fin[31]+fin[0]*alphavpar[31]+alphavpar[1]*fin[30]+fin[1]*alphavpar[30]+alphavpar[2]*fin[29]+fin[2]*alphavpar[29]+alphavpar[3]*fin[28]+fin[3]*alphavpar[28]+alphavpar[4]*fin[27]+fin[4]*alphavpar[27]+alphavpar[5]*fin[26]+fin[5]*alphavpar[26]+alphavpar[6]*fin[25]+fin[6]*alphavpar[25]+alphavpar[7]*fin[24]+fin[7]*alphavpar[24]+alphavpar[8]*fin[23]+fin[8]*alphavpar[23]+alphavpar[9]*fin[22]+fin[9]*alphavpar[22]+alphavpar[10]*fin[21]+fin[10]*alphavpar[21]+alphavpar[11]*fin[20]+fin[11]*alphavpar[20]+alphavpar[12]*fin[19]+fin[12]*alphavpar[19]+alphavpar[13]*fin[18]+fin[13]*alphavpar[18]+alphavpar[14]*fin[17]+fin[14]*alphavpar[17]+alphavpar[15]*fin[16]+fin[15]*alphavpar[16]); + + return 0.; +} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c deleted file mode 100644 index 0d0ee1dcb7..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. - // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. - // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. - // edge: determines if the update is for the left edge (-1) or right edge (+1). - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c deleted file mode 100644 index 640fa5f1d1..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. - // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. - // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. - // edge: determines if the update is for the left edge (-1) or right edge (+1). - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index 363c18ba47..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. - // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. - // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. - // edge: determines if the update is for the left edge (-1) or right edge (+1). - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index 912a590a66..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_edge,vmap_prime_skin: velocity space mapping derivative in edge and skin cells. - // flux_surf_edge: Surface expansion of phase space flux on the lower edges of the edge cell. - // flux_surf_skin: Surface expansion of phase space flux on the lower edges of the skin cell. - // edge: determines if the update is for the left edge (-1) or right edge (+1). - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c deleted file mode 100644 index 98e85d2209..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. - // flux_surf_l: Surface expansion of phase space flux on the left. - // flux_surf_r: Surface expansion of phase space flux on the right. - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c deleted file mode 100644 index 7abe4f702f..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. - // flux_surf_l: Surface expansion of phase space flux on the left. - // flux_surf_r: Surface expansion of phase space flux on the right. - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index daeebb1c56..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. - // flux_surf_l: Surface expansion of phase space flux on the left. - // flux_surf_r: Surface expansion of phase space flux on the right. - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index 5e3a3a38e7..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,17 +0,0 @@ -#include -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_c,vmap_prime_r: velocity space mapping derivative in left, center and right cells. - // flux_surf_l: Surface expansion of phase space flux on the left. - // flux_surf_r: Surface expansion of phase space flux on the right. - // out: output increment in center cell. - - return 0.0; - -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c deleted file mode 100644 index 3eb7e85c0e..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x1v_ser_p1.c +++ /dev/null @@ -1,19 +0,0 @@ -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *apar, - const double *apardot, const double *rtg33inv, const double *bioverJB, - const double *fin, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // bmag: magnetic field amplitude. - // phi: electrostatic potential . - // apar: parallel component of vector potential. - // fin: Distribution function. - // out: output increment. - - return 0.; -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c deleted file mode 100644 index 971767445c..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_1x2v_ser_p1.c +++ /dev/null @@ -1,19 +0,0 @@ -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *apar, - const double *apardot, const double *rtg33inv, const double *bioverJB, - const double *fin, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // bmag: magnetic field amplitude. - // phi: electrostatic potential . - // apar: parallel component of vector potential. - // fin: Distribution function. - // out: output increment. - - return 0.; -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c deleted file mode 100644 index 273c7fcf79..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_2x2v_ser_p1.c +++ /dev/null @@ -1,19 +0,0 @@ -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *apar, - const double *apardot, const double *rtg33inv, const double *bioverJB, - const double *fin, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // bmag: magnetic field amplitude. - // phi: electrostatic potential . - // apar: parallel component of vector potential. - // fin: Distribution function. - // out: output increment. - - return 0.; -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c deleted file mode 100644 index cfb0840e3d..0000000000 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_em_vol_3x2v_ser_p1.c +++ /dev/null @@ -1,19 +0,0 @@ -#include -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *apar, - const double *apardot, const double *rtg33inv, const double *bioverJB, - const double *fin, double* GKYL_RESTRICT out) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // bmag: magnetic field amplitude. - // phi: electrostatic potential . - // apar: parallel component of vector potential. - // fin: Distribution function. - // out: output increment. - - return 0.; -} diff --git a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h index 830cf6a25e..3a54018e34 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h +++ b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h @@ -228,137 +228,61 @@ GKYL_CU_DH double dg_gyrokinetic_boundary_surfvpar_3x2v_ser_p1(const double *w, const double *flux_surf_edge, const double *flux_surf_skin, const int edge, double* GKYL_RESTRICT out); - GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p2(const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; + +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p2(const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; + +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfy_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfy_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; -GKYL_CU_DH double dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p2(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *apar, const double *apardot, - const double *rtg33inv, const double* bioverJB, +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p2(const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; + +GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfx_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfx_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfy_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfy_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfz_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfz_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, - const double *flux_surf_l, const double *flux_surf_r, - double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1(const double *w, const double *dxv, - const double *vmap_prime_edge, const double *vmap_prime_skin, - const double *flux_surf_edge, const double *flux_surf_skin, - const int edge, double* GKYL_RESTRICT out); +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; EXTERN_C_END diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c new file mode 100644 index 0000000000..fe8446683c --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c @@ -0,0 +1,65 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential (here it will be apardot). + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + + double *flux_surf_nodal = &flux_surf[3]; + double cfl = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + + + + alpha_quad = -q_/m_*(0.7071067811865475*apar[0]-0.7071067811865475*apar[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(1.1180339887498951*JfR[5])+1.118033988749895*JfR[4]+0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]-0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(0.7071067811865475*apar[1]+0.7071067811865475*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; + JfR_quad = (1.1180339887498951*JfR[5]+1.118033988749895*JfR[4]-0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]+0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c new file mode 100644 index 0000000000..81f0720ca2 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c @@ -0,0 +1,83 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential (here it will be apardot). + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + + double *flux_surf_nodal = &flux_surf[6]; + double cfl = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + + + + alpha_quad = -q_/m_*(0.7071067811865475*apar[0]-0.7071067811865475*apar[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.7905694150420947*JfR[11]-0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.7071067811865475*apar[0]-0.7071067811865475*apar[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.7905694150420947*JfR[11])+0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(0.7071067811865475*apar[1]+0.7071067811865475*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.7905694150420947*JfR[11])-0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.7071067811865475*apar[1]+0.7071067811865475*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.7905694150420947*JfR[11]+0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..e0e51c38ad --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,124 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential (here it will be apardot). + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + + + + alpha_quad = -q_/m_*(0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..ca88d98d0d --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,205 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential (here it will be apardot). + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + + double *flux_surf_nodal = &flux_surf[72]; + double cfl = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + + + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[8] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[9] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[10] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[11] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[12] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[13] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[14] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[15] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c deleted file mode 100644 index 02aed87ff6..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c deleted file mode 100644 index 985bf5ff5b..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index 58032fe55a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 366399870d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index 9ee1465433..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 0d7b7b5a25..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index fb4e3657d6..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c deleted file mode 100644 index a1e3efe0f1..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c deleted file mode 100644 index 22417fa638..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index 085ae07617..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 2edce2b85a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index d3be656a7e..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index ba50f2ddbe..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index f456e80f01..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c deleted file mode 100644 index 4fe40b27ef..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c deleted file mode 100644 index 1d32b32127..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c deleted file mode 100644 index 461dac1bf7..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c deleted file mode 100644 index 11ea44c05a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c deleted file mode 100644 index 08d186e133..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c deleted file mode 100644 index 856155d7b3..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c deleted file mode 100644 index 8f3f6f1ea1..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index dc927940a8..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 47f50f2516..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index a87c9b3ef1..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 686d3fae37..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index bf8b075f11..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index 2b39f7d630..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 2cf8ffecdd..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index 5837b618aa..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 16282609e6..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index 35655d48b5..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c deleted file mode 100644 index f39f17c36a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c deleted file mode 100644 index e3046b01f8..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c deleted file mode 100644 index 77014e76cc..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c deleted file mode 100644 index 4e4fb4bb6e..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c deleted file mode 100644 index 6a56f51740..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index 3977e7acc0..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index 0b5dbee65d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c deleted file mode 100644 index 414ef9f8d4..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c deleted file mode 100644 index 89aad8d3fe..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c deleted file mode 100644 index f8b28d3d49..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c deleted file mode 100644 index 9504159d0d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c deleted file mode 100644 index d0cde6b276..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c deleted file mode 100644 index 9897d3b63f..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c deleted file mode 100644 index 0f82c703ea..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index 62c373ef5d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index 7a22e7c4be..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c deleted file mode 100644 index 1fccf45fb9..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c deleted file mode 100644 index 7b7ec7808a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c deleted file mode 100644 index 6984c52216..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c deleted file mode 100644 index d701443e15..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c deleted file mode 100644 index 70ca233a21..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c deleted file mode 100644 index 60fc96ea32..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c deleted file mode 100644 index 0ec404bc74..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_em_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,26 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_add_em_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - return 0.; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c index ad3734b58e..d238da4c5a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c index 59a43322bb..8b28a452a8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index 5022256ab7..9525d51831 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -67,6 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -76,6 +80,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -85,6 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -94,6 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -103,6 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -112,6 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -131,6 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -140,6 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -149,6 +167,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -158,6 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -167,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -176,6 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 59e7d2cc46..62b3bbfb0f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -70,6 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -79,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -88,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -97,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -106,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -115,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -134,6 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -152,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -170,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -179,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,6 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,6 +235,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -216,6 +246,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -234,6 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -243,6 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,6 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -271,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -280,6 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -289,6 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -298,6 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -307,6 +355,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index 31fa960356..0d3cc97515 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -67,6 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -76,6 +80,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -85,6 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -94,6 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -103,6 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -112,6 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -131,6 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -140,6 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -149,6 +167,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -158,6 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -167,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -176,6 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index ad63fb6149..61775349c6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -72,6 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -81,6 +85,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -90,6 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,6 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,6 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -136,6 +150,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,6 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,6 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,6 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,6 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,6 +205,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,6 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,6 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,6 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,6 +270,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,6 +281,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,6 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -273,6 +313,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -282,6 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -291,6 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,6 +346,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -309,6 +357,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index 4764aab565..ab2a44e03d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -70,6 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -79,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -88,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -97,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -106,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -115,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -134,6 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -152,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -170,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -179,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,6 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -207,6 +235,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -216,6 +246,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -225,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -234,6 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -243,6 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -262,6 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -271,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -280,6 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -289,6 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -298,6 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -307,6 +355,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index 29fc18e21c..9839938bde 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index 438f8f354a..59741c6716 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index 1e08261e4f..7c5f27f3a4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -81,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -90,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -99,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -108,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -117,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -126,6 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -145,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -163,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -172,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -190,6 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index fe0b02073f..4427f8496b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -96,6 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -105,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -114,6 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -123,6 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -132,6 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -141,6 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -160,6 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -169,6 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -178,6 +196,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,6 +207,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -196,6 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -205,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -224,6 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -233,6 +261,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -242,6 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -260,6 +294,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -269,6 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -288,6 +326,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -297,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -306,6 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -315,6 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -324,6 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -333,6 +381,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index 7ba71bc887..b46843a5f3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -81,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -90,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -99,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -108,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -117,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -126,6 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -145,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -163,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -172,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -190,6 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index b5e4f00c47..fed15e4318 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -98,6 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -107,6 +111,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -116,6 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,6 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -134,6 +144,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,6 +155,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -162,6 +176,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,6 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -180,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,6 +209,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,6 +220,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,6 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,6 +263,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -244,6 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -253,6 +285,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -262,6 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,6 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,6 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -299,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -308,6 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -317,6 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -326,6 +372,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -335,6 +383,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index fa4ad444f6..07abcbccac 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -96,6 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -105,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -114,6 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -123,6 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -132,6 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -141,6 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -160,6 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -169,6 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -178,6 +196,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,6 +207,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -196,6 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -205,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -224,6 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -233,6 +261,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -242,6 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -260,6 +294,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -269,6 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -288,6 +326,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -297,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -306,6 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -315,6 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -324,6 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -333,6 +381,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 77d6899c97..3e0e9a58ee 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index 8c2aac9ad9..57462146c1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index 7e1113c075..669c837aa1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -81,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -90,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -99,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -108,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -117,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -126,6 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -145,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -163,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -172,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -190,6 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index 34dc77abfd..3d6a5ada15 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -96,6 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -105,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -114,6 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -123,6 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -132,6 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -141,6 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -160,6 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -169,6 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -178,6 +196,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -187,6 +207,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -196,6 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -205,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -224,6 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -233,6 +261,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -242,6 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -260,6 +294,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -269,6 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -288,6 +326,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -297,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -306,6 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -315,6 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -324,6 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -333,6 +381,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index a8c95150bb..ccae8140f5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -81,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -90,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -99,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -108,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -117,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -126,6 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -145,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -163,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -172,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -190,6 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index 1dd20085ee..661696e018 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -98,6 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -107,6 +111,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -116,6 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,6 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -134,6 +144,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -143,6 +155,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -162,6 +176,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -171,6 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -180,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,6 +209,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -198,6 +220,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -207,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,6 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -235,6 +263,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -244,6 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -253,6 +285,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -262,6 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -271,6 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,6 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -299,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -308,6 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -317,6 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -326,6 +372,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -335,6 +383,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index 714859fda8..2cc78a65c5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -96,6 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -105,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -114,6 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -123,6 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -132,6 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -141,6 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -160,6 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -169,6 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -178,6 +196,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -187,6 +207,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -196,6 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -205,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -224,6 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -233,6 +261,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -242,6 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -260,6 +294,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -269,6 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -288,6 +326,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -297,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -306,6 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -315,6 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -324,6 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -333,6 +381,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c index 96559ef1af..6184d536a3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c index cf1154a0a0..a2da499294 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c index 21f961c76a..4ca93d910c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c index b90d9d2cf1..43d4ce97f4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c index 389c6dfd3c..403e5afe85 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 9d37e91383..55a1af88c1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index 79c057a02c..a71b45ec40 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index e3bafd60df..a9079ef2ed 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 0a47ab8b76..6646198205 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 6c3a483186..6284a429d7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 65c8ab4aae..944529819a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c index cca595b0a8..b45acf2030 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 1521d880c2..1be9740d4c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 834ddf4599..b2df2b4cc8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 2cf58ff30c..9ccf675e30 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index 4a3cedd54b..e600c37586 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +17,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -44,11 +45,17 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -56,8 +63,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -67,6 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -82,8 +95,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -93,6 +111,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -108,8 +127,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -119,6 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -134,8 +159,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -145,6 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -154,6 +185,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); return cfl/vmap_prime_min*2.5*rdvpar2; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 7f79f3f395..4b11599eab 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +17,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -49,11 +50,17 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -61,8 +68,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -72,6 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -87,8 +100,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -98,6 +116,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -113,8 +132,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -124,6 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -139,8 +164,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -150,6 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -165,8 +196,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[4].g_13; + g_23 = gkdgv[4].g_23; + g_33 = gkdgv[4].g_33; + mag_e_3 = gkdgv[4].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -176,6 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -191,8 +228,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[5].g_13; + g_23 = gkdgv[5].g_23; + g_33 = gkdgv[5].g_33; + mag_e_3 = gkdgv[5].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -202,6 +244,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -217,8 +260,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[6].g_13; + g_23 = gkdgv[6].g_23; + g_33 = gkdgv[6].g_33; + mag_e_3 = gkdgv[6].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -228,6 +276,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -243,8 +292,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[7].g_13; + g_23 = gkdgv[7].g_23; + g_33 = gkdgv[7].g_33; + mag_e_3 = gkdgv[7].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -254,6 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -263,6 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); return cfl/vmap_prime_min*2.5*rdvpar2; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c index 8f1e074287..c6fa855f0b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c index c3c52aed1f..8e0df1984a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c index 34d2f41dc4..a602b33749 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c index 21d32c281c..8907a70957 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c index 986892352c..a7d42b1e38 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c new file mode 100644 index 0000000000..5f1299df4e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c @@ -0,0 +1,11 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + return 0.0; +} \ No newline at end of file diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index da915ecfda..2aec3997b1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +17,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -37,11 +38,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -49,9 +56,15 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1])/q_; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; @@ -66,9 +79,15 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1])/q_; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; @@ -77,6 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); return cfl/vmap_prime_min*2.5*rdvpar2; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index e64b6b58e3..3701b42301 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +17,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -39,11 +40,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -51,9 +58,15 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -62,7 +75,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -77,9 +92,15 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -88,7 +109,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -97,6 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); return cfl/vmap_prime_min*2.5*rdvpar2; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 1f56aa7c43..9103273342 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +17,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -44,11 +45,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -56,9 +63,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -68,6 +83,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -82,9 +101,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -94,6 +121,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -108,9 +139,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -120,6 +159,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -134,9 +177,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -146,6 +197,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -154,6 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); return cfl/vmap_prime_min*2.5*rdvpar2; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index 55fccbb259..fdda705971 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +17,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -49,11 +50,17 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -61,9 +68,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -72,7 +90,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -87,9 +112,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -98,7 +134,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -113,9 +156,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -124,7 +178,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -139,9 +200,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -150,7 +222,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -165,9 +244,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[4].g_13; + g_23 = gkdgv[4].g_23; + g_33 = gkdgv[4].g_33; + mag_e_3 = gkdgv[4].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -176,7 +266,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -191,9 +288,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[5].g_13; + g_23 = gkdgv[5].g_23; + g_33 = gkdgv[5].g_33; + mag_e_3 = gkdgv[5].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -202,7 +310,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -217,9 +332,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[6].g_13; + g_23 = gkdgv[6].g_23; + g_33 = gkdgv[6].g_33; + mag_e_3 = gkdgv[6].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -228,7 +354,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -243,9 +376,20 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[7].g_13; + g_23 = gkdgv[7].g_23; + g_33 = gkdgv[7].g_33; + mag_e_3 = gkdgv[7].mag_e_3; - + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -254,7 +398,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -263,6 +414,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); return cfl/vmap_prime_min*2.5*rdvpar2; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c new file mode 100644 index 0000000000..b47331bf64 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c @@ -0,0 +1,11 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_surfvpar_return_zero( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + return 0.0; +} \ No newline at end of file diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c index 0ef83c4598..8351564ace 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c index dcf075bb2a..afb03ca1e1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index 9a7bc20564..5e8c3cbef7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -67,6 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -76,6 +80,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -85,6 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -94,6 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -103,6 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -112,6 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -131,6 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -140,6 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -149,6 +167,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -158,6 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -167,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -176,6 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index eeea1a9283..da41a35c4e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -70,6 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -79,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -88,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -97,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -106,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -115,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -134,6 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -152,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -170,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -179,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,6 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,6 +235,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -216,6 +246,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -234,6 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -243,6 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,6 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -271,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -280,6 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -289,6 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -298,6 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -307,6 +355,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index 293d963b5c..4a910b6a1b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -67,6 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -76,6 +80,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -85,6 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -94,6 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -103,6 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -112,6 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -131,6 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -140,6 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -149,6 +167,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -158,6 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -167,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -176,6 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index 512224cc62..c36a81b5de 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -72,6 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -81,6 +85,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -90,6 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,6 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,6 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -136,6 +150,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,6 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,6 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,6 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,6 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,6 +205,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,6 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,6 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,6 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,6 +270,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,6 +281,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,6 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -273,6 +313,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -282,6 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -291,6 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,6 +346,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -309,6 +357,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index e135bebf06..b803b6bfb4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -3,7 +3,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -17,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. + // apar: parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -70,6 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -79,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -88,6 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -97,6 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -106,6 +116,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -115,6 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -134,6 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,6 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -152,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,6 +181,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -170,6 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -179,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,6 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -207,6 +235,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -216,6 +246,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -225,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -234,6 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -243,6 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -262,6 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -271,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -280,6 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -289,6 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -298,6 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -307,6 +355,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index 5b20c9ed63..8719415313 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -13,7 +13,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, @@ -21,7 +21,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, @@ -29,7 +29,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, @@ -37,54 +37,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( @@ -93,7 +53,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, @@ -101,7 +61,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, @@ -109,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, @@ -117,54 +77,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( @@ -173,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, @@ -181,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -189,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -197,7 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, @@ -205,7 +125,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, @@ -213,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -221,7 +141,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -229,14 +149,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, @@ -244,7 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, @@ -252,7 +172,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -260,7 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -268,7 +188,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, @@ -276,7 +196,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, @@ -284,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -292,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, @@ -300,157 +220,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( @@ -459,7 +236,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, @@ -467,7 +244,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -475,7 +252,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -483,7 +260,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -491,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -499,7 +276,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, @@ -507,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, @@ -515,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -523,7 +300,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -531,7 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -539,7 +316,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -547,14 +324,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, @@ -562,7 +339,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, @@ -570,7 +347,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -578,7 +355,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -586,7 +363,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -594,7 +371,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -602,7 +379,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, @@ -610,7 +387,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, @@ -618,7 +395,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -626,7 +403,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, @@ -634,7 +411,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -642,7 +419,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, @@ -650,669 +427,63 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); + GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_add_em_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_surfvpar_return_zero( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); EXTERN_C_END diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 5d8aac4631..f7ad52c76b 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -46,9 +46,15 @@ gkyl_gyrokinetic_set_auxfields(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_gyr struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_cell_threshold, const bool no_by, const bool add_em, + const double charge, const double mass, double skip_cell_threshold, + const bool no_by, const bool is_em, const bool add_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { + + // gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, + // const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, + // const double charge, const double mass, double skip_cell_threshold, enum gkyl_gk_collisionless_type collless_type, + // const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_dg_gyrokinetic_cu_dev_new(cbasis, pbasis, conf_range, phase_range, @@ -77,6 +83,8 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis gyrokinetic->eqn.boundary_diag_term = boundary_diag; const gkyl_dg_gyrokinetic_vol_kern_list *vol_kernels, *vol_no_by_kernels; + const gkyl_dg_gyrokinetic_vol_add_apar_kern_list *vol_add_apar_kernels; + const gkyl_dg_gyrokinetic_vol_kern_list *vol_add_apardot_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_x_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_y_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_z_kernels; @@ -89,6 +97,8 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis switch (cbasis->b_type) { case GKYL_BASIS_MODAL_SERENDIPITY: vol_kernels = ser_vol_kernels; + vol_add_apar_kernels = ser_add_apar_vol_kernels; + vol_add_apardot_kernels = ser_add_apardot_vol_kernels; surf_x_kernels = ser_surf_x_kernels; surf_y_kernels = ser_surf_y_kernels; surf_z_kernels = ser_surf_z_kernels; @@ -110,9 +120,16 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis gyrokinetic->eqn.vol_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); } else { - gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); + if (add_apardot) + gyrokinetic->eqn.vol_term = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + else + gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); } + // gyrokinetic->vol_add_apar_term = COLLESS_TYPE == GKYL_GK_COLLISIONLESS_EM ? CK(vol_add_apar_kernels,cdim,vdim,poly_order) + // : kernel_dg_gyrokinetic_vol_return_zero; + gyrokinetic->vol_add_apar_term = is_em ? CK(vol_add_apar_kernels,cdim,vdim,poly_order) : kernel_dg_gyrokinetic_vol_return_zero; + gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); if (cdim>1) gyrokinetic->surf[1] = CK(surf_y_kernels,cdim,vdim,poly_order); diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index ecf3b34003..d454ad4af6 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -15,12 +15,14 @@ gkyl_dg_updater_gyrokinetic_acquire_eqn(const gkyl_dg_updater_gyrokinetic* gyrok return gkyl_dg_eqn_acquire(gyrokinetic->eqn_gyrokinetic); } +// TODO: remove add_em flag and replace by the collisionless enum type. + struct gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, + const bool no_by, const bool is_em, const bool add_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu) { struct gkyl_dg_updater_gyrokinetic *up = gkyl_malloc(sizeof(struct gkyl_dg_updater_gyrokinetic)); @@ -28,7 +30,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, up->use_gpu = use_gpu; up->eqn_gyrokinetic = gkyl_dg_gyrokinetic_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, no_by, add_em, gk_geom, vel_map, up->use_gpu); + charge, mass, skip_cell_threshold, no_by, is_em, add_apardot, gk_geom, vel_map, up->use_gpu); struct gkyl_dg_gyrokinetic_auxfields *gk_inp = aux_inp; gkyl_gyrokinetic_set_auxfields(up->eqn_gyrokinetic, *gk_inp); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index a3183db174..85bba2e56f 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -9,11 +9,16 @@ #include #include +// TODO: remove add_em flag and replace by the collisionless enum type. +// TODO: Combine apar and ES kernel together to allow the add Apardot only option. +// TODO: In particular I have to have the same signature for each kernels regardless of whether they add EM terms or not, +// so that we can pass apar, or apardot if needed. + gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, const bool no_by, const bool add_em, - const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, + const double charge, const double mass, const bool no_by, const bool is_em, + const bool add_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu) { @@ -35,24 +40,28 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->charge = charge; up->mass = mass; - up->add_em = add_em; + up->is_em = is_em; + up->add_apardot = add_apardot; up->gk_geom = gkyl_gk_geometry_acquire(gk_geom); up->dg_geom = gkyl_dg_geom_acquire(dg_geom); up->gk_dg_geom = gkyl_gk_dg_geom_acquire(gk_dg_geom); up->vel_map = gkyl_velocity_map_acquire(vel_map); - if (no_by) { - if (add_em) { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_add_em_no_by_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_em_no_by_surf_vpar_kern(cdim, vdim, poly_order); - } else { + // Set apardot function to zero by default. + up->flux_surfvpar_add_apardot[0] = get_gk_collisionless_flux_surfvpar_zero_kern(); + + // Choose appropriate kernels. + if (add_apardot){ + // If we only add Apardot terms to the flux, we set every conf flux_surf kernel to 0 and we cable the vpar one to the + // appropriate add Apardot kernel (no conf surf contributions). + for (int d=0; dflux_surf[d] = get_gk_collisionless_flux_surf_zero_kern(); + up->flux_surf_edge_lo[d] = get_gk_collisionless_flux_surf_zero_kern(); + up->flux_surf_edge_up[d] = get_gk_collisionless_flux_surf_zero_kern(); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); + } else { + if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); @@ -62,18 +71,6 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); - } - } else { - if (add_em) { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_add_em_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_add_em_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_em_surf_vpar_kern(cdim, vdim, poly_order); } else { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. @@ -96,7 +93,8 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, const struct gkyl_array *phi, + const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, + const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) { #ifdef GKYL_HAVE_CUDA @@ -133,6 +131,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const double *bmag_d = gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = gkyl_array_cfetch(phi, loc_conf); + const double *apar_d = gkyl_array_cfetch(apar, loc_conf); const double *vmap_d = gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -156,11 +155,11 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, if (idx[dir] == phase_range->lower[dir]) { // Lower domain/block boundary. cflrate_d[0] += up->flux_surf_edge_lo[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); } else { // Interior, lower cell surface. cflrate_d[0] += up->flux_surf[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); } // Upper domain/block boundary. @@ -187,7 +186,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, double* flux_surf_ext_d = gkyl_array_fetch(flux_surf, loc_phase_ext); cflrate_ext_d[0] += up->flux_surf_edge_up[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, fL, fR, flux_surf_ext_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_ext_d); } } } @@ -206,6 +205,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const double *bmag_d = gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = gkyl_array_cfetch(phi, loc_conf); + const double *apar_d = gkyl_array_cfetch(apar, loc_conf); const double *vmap_d = gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -228,10 +228,8 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const struct gkyl_dg_vol_geom *dgv = gkyl_dg_geom_get_vol(up->dg_geom, idx); const struct gkyl_gk_dg_vol_geom *gkdgv = gkyl_gk_dg_geom_get_vol(up->gk_dg_geom, idx); cflrate_d[0] += up->flux_surfvpar[0](xc, up->phase_grid.dx, vpL, vpR, vmap_d, vmapSq_d, up->charge, up->mass, - dgv, gkdgv, bmag_d, phi_d, fL, fR, flux_surf_d); + dgv, gkdgv, bmag_d, phi_d, apar_d, fL, fR, flux_surf_d); } - - } void gkyl_gk_collisionless_flux_release(gkyl_gk_collisionless_flux *up) diff --git a/gyrokinetic/zero/gk_dg_geom.c b/gyrokinetic/zero/gk_dg_geom.c index 43edc7fd6a..16c43be256 100644 --- a/gyrokinetic/zero/gk_dg_geom.c +++ b/gyrokinetic/zero/gk_dg_geom.c @@ -160,6 +160,16 @@ gkyl_gk_dg_geom_populate_vol(struct gkyl_dg_geom *dg_geom, struct gkyl_gk_dg_geo gkdgv[qvloc].dualcurlbhat.x[0] = global_val[0]; gkdgv[qvloc].dualcurlbhat.x[1] = global_val[1]; gkdgv[qvloc].dualcurlbhat.x[2] = global_val[2]; + + // set g_ij components + global_val = gkyl_array_cfetch(gk_geom->geo_int.g_ij_nodal, global_loc); + gkdgv[qvloc].g_13 = global_val[2]; // g_{13} + gkdgv[qvloc].g_23 = global_val[4]; // g_{23} + gkdgv[qvloc].g_33 = global_val[5]; // g_{33} + + // set magnitude of e_3 + global_val = gkyl_array_cfetch(gk_geom->geo_int.dualmag_nodal, global_loc); + gkdgv[qvloc].mag_e_3 = global_val[2]; // |e^3| } } } diff --git a/gyrokinetic/zero/gk_geometry.c b/gyrokinetic/zero/gk_geometry.c index 4974f95fd0..55e5c0efb8 100644 --- a/gyrokinetic/zero/gk_geometry.c +++ b/gyrokinetic/zero/gk_geometry.c @@ -373,6 +373,7 @@ gkyl_gk_geometry_deflate(const struct gk_geometry* up_3d, struct gkyl_gk_geometr gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.B3_nodal, up->geo_int.B3_nodal, 1); gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.bmag_nodal, up->geo_int.bmag_nodal, 1); gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.dualcurlbhat_nodal, up->geo_int.dualcurlbhat_nodal, 3); + gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.dualmag_nodal, up->geo_int.dualmag_nodal, 3); gkyl_deflate_geo_release(deflator); if (up->grid.ndim==1) { diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h index 4699b69acf..7aea13e2a7 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h @@ -28,7 +28,8 @@ struct gkyl_dg_gyrokinetic_auxfields { * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param no_by Whether to neglect the toroidal field (b_y=0) - * @param add_em Whether the updater only adds EM terms. + * @param is_em Whether the updater only adds EM terms. + * @param add_apardot Whether to add the AparDot terms only. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param use_gpu Boolean to determine if gyrokinetic equation object is on device @@ -37,7 +38,7 @@ struct gkyl_dg_gyrokinetic_auxfields { struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, + const bool no_by, const bool is_em, const bool add_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu); /** diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 33bf5f7e6f..4b65faa4c4 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -12,6 +12,16 @@ #include // Types for various kernels. +typedef double (*dg_gyrokinetic_vol_add_apar_t)(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, + const double *apar, const double *fin, double* GKYL_RESTRICT out); + +typedef double (*dg_gyrokinetic_vol_add_apardot_t)(const double *w, const double *dxv, + const double *vmap, const double *vmapSq,const double q_, const double m_, + const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, + const double *apardot, const double *fin, double* GKYL_RESTRICT out); + typedef double (*dg_gyrokinetic_surf_t)( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, const double *flux_surf_l, const double *flux_surf_r, double* GKYL_RESTRICT out @@ -33,6 +43,7 @@ static struct { int vdim[3]; } cv_index[] = { // for use in kernel tables typedef struct { vol_termf_t kernels[3]; } gkyl_dg_gyrokinetic_vol_kern_list; +typedef struct { dg_gyrokinetic_vol_add_apar_t kernels[3]; } gkyl_dg_gyrokinetic_vol_add_apar_kern_list; typedef struct { dg_gyrokinetic_surf_t kernels[3]; } gkyl_dg_gyrokinetic_surf_kern_list; typedef struct { dg_gyrokinetic_boundary_surf_t kernels[3]; } gkyl_dg_gyrokinetic_boundary_surf_kern_list; @@ -40,6 +51,7 @@ struct dg_gyrokinetic { struct gkyl_dg_eqn eqn; // Base object. int cdim; // Config-space dimensions. int pdim; // Phase-space dimensions. + dg_gyrokinetic_vol_add_apar_t vol_add_apar_term; // Additional volume term for Apar contribution. dg_gyrokinetic_surf_t surf[4]; // Surface terms. dg_gyrokinetic_boundary_surf_t boundary_surf[4]; // Surface terms for velocity boundary. struct gkyl_range conf_range; // Configuration space range. @@ -74,7 +86,8 @@ kernel_dg_gyrokinetic_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_vol_1x1v_ser_p1(xc, dx, + double cfl = 0.0; + cfl = dg_gyrokinetic_vol_1x1v_ser_p1(xc, dx, (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, @@ -84,6 +97,17 @@ kernel_dg_gyrokinetic_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), qIn, qRhsOut); + cfl += gyrokinetic->vol_add_apar_term(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), + qIn, qRhsOut); + return cfl; } GKYL_CU_DH @@ -103,7 +127,8 @@ kernel_dg_gyrokinetic_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_vol_1x2v_ser_p1(xc, dx, + double cfl = 0.0; + cfl = dg_gyrokinetic_vol_1x2v_ser_p1(xc, dx, (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, @@ -113,6 +138,17 @@ kernel_dg_gyrokinetic_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), qIn, qRhsOut); + cfl += gyrokinetic->vol_add_apar_term(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), + qIn, qRhsOut); + return cfl; } GKYL_CU_DH @@ -132,7 +168,8 @@ kernel_dg_gyrokinetic_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_vol_2x2v_ser_p1(xc, dx, + double cfl = 0.0; + cfl = dg_gyrokinetic_vol_2x2v_ser_p1(xc, dx, (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, @@ -142,6 +179,17 @@ kernel_dg_gyrokinetic_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), qIn, qRhsOut); + cfl += gyrokinetic->vol_add_apar_term(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), + qIn, qRhsOut); + return cfl; } GKYL_CU_DH @@ -161,7 +209,8 @@ kernel_dg_gyrokinetic_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_vol_3x2v_ser_p1(xc, dx, + double cfl = 0.0; + cfl = dg_gyrokinetic_vol_3x2v_ser_p1(xc, dx, (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, @@ -171,6 +220,17 @@ kernel_dg_gyrokinetic_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), qIn, qRhsOut); + cfl += gyrokinetic->vol_add_apar_term(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), + qIn, qRhsOut); + return cfl; } // Volume kernel list. @@ -260,143 +320,39 @@ static const gkyl_dg_gyrokinetic_vol_kern_list ser_no_by_vol_kernels[] = { { NULL, kernel_dg_gyrokinetic_no_by_vol_3x2v_ser_p1, NULL }, // 3 }; -// -// Serendipity surface kernels general geometry -// -// Surface kernel list: x-direction +// Electromagnetic serendipity volume kernels general geometry. GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_x_kernels[] = { +static const gkyl_dg_gyrokinetic_vol_add_apar_kern_list ser_add_apar_vol_kernels[] = { // 1x kernels - { NULL, dg_gyrokinetic_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_add_apar_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_add_apar_vol_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, dg_gyrokinetic_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_add_apar_vol_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_add_apar_vol_3x2v_ser_p1, NULL }, // 3 }; -// Surface kernel list: y-direction -GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_y_kernels[] = { - // 1x kernels - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - // 2x kernels - { NULL, dg_gyrokinetic_surfy_2x2v_ser_p1, NULL }, // 2 - // 3x kernels - { NULL, dg_gyrokinetic_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Surface kernel list: z-direction -GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_z_kernels[] = { - // 1x kernels - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - // 2x kernels - { NULL, NULL, NULL }, // 2 - // 3x kernels - { NULL, dg_gyrokinetic_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Acceleration surface kernel list: vpar-direction -GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_vpar_kernels[] = { - // 1x kernels - { NULL, dg_gyrokinetic_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_surfvpar_1x2v_ser_p1, NULL }, // 1 - // 2x kernels - { NULL, dg_gyrokinetic_surfvpar_2x2v_ser_p1, NULL }, // 2 - // 3x kernels - { NULL, dg_gyrokinetic_surfvpar_3x2v_ser_p1, NULL }, // 3 -}; - -// Conf-space advection boundary surface kernel list: x-direction -GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_x_kernels[] = { - // 1x kernels - { NULL, dg_gyrokinetic_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - // 2x kernels - { NULL, dg_gyrokinetic_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - // 3x kernels - { NULL, dg_gyrokinetic_boundary_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Conf-space advection boundary surface kernel list: y-direction -GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_y_kernels[] = { - // 1x kernels - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - // 2x kernels - { NULL, dg_gyrokinetic_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - // 3x kernels - { NULL, dg_gyrokinetic_boundary_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Conf-space advection boundary surface kernel list: z-direction -GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_z_kernels[] = { - // 1x kernels - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - // 2x kernels - { NULL, NULL, NULL }, // 2 - // 3x kernels - { NULL, dg_gyrokinetic_boundary_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Acceleration boundary surface kernel (zero-flux BCs) list: vpar-direction -GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_vpar_kernels[] = { - // 1x kernels - { NULL, dg_gyrokinetic_boundary_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_boundary_surfvpar_1x2v_ser_p1, NULL }, // 1 - // 2x kernels - { NULL, dg_gyrokinetic_boundary_surfvpar_2x2v_ser_p1, NULL }, // 2 - // 3x kernels - { NULL, dg_gyrokinetic_boundary_surfvpar_3x2v_ser_p1, NULL }, // 3 -}; - -// -// Serendipity volume kernels general geometry -// Need to be separated like this for GPU build -// - GKYL_CU_DH static double -kernel_dg_gyrokinetic_add_em_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, +kernel_dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) { - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { return 0.; } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_add_em_vol_1x1v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + return dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1( gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); } GKYL_CU_DH static double -kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, +kernel_dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) { struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); @@ -404,28 +360,17 @@ kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, cons if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { return 0.; } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_add_em_vol_1x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + return dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1( gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); } GKYL_CU_DH static double -kernel_dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, +kernel_dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) { struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); @@ -433,28 +378,17 @@ kernel_dg_gyrokinetic_add_em_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, cons if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { return 0.; } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_add_em_vol_2x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + return dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1( gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); } GKYL_CU_DH static double -kernel_dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, +kernel_dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) { struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); @@ -463,208 +397,132 @@ kernel_dg_gyrokinetic_add_em_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, cons return 0.; } - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_add_em_vol_3x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + return dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1( gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); } -// Volume kernel list. +// Electromagnetic volume kernel list (apardot). GKYL_CU_D -static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_em_vol_kernels[] = { +static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_apardot_vol_kernels[] = { // 1x kernels - { NULL, kernel_dg_gyrokinetic_add_em_vol_1x1v_ser_p1, NULL }, // 0 - { NULL, kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1, NULL }, // 1 + { NULL, kernel_dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, kernel_dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, kernel_dg_gyrokinetic_add_em_vol_2x2v_ser_p1, NULL }, // 2 + { NULL, kernel_dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, kernel_dg_gyrokinetic_add_em_vol_3x2v_ser_p1, NULL }, // 3 + { NULL, kernel_dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1, NULL }, // 3 }; -// -// Serendipity volume kernels general geometry, no toroidal field (by=0) -// Need to be separated like this for GPU build -// - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } +// To turn off EM effects: +#include +GKYL_CU_DH double kernel_dg_gyrokinetic_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) +{ + return 0.; +} - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); -} - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); -} - -// Volume kernel list. -GKYL_CU_D -static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_em_no_by_vol_kernels[] = { - // 1x kernels - { NULL, kernel_dg_gyrokinetic_add_em_vol_1x1v_ser_p1, NULL }, // 0 - { NULL, kernel_dg_gyrokinetic_add_em_vol_1x2v_ser_p1, NULL }, // 1 - // 2x kernels - { NULL, kernel_dg_gyrokinetic_add_em_no_by_vol_2x2v_ser_p1, NULL }, // 2 - // 3x kernels - { NULL, kernel_dg_gyrokinetic_add_em_no_by_vol_3x2v_ser_p1, NULL }, // 3 -}; // // Serendipity surface kernels general geometry // // Surface kernel list: x-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_x_kernels[] = { +static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_x_kernels[] = { // 1x kernels - { NULL, dg_gyrokinetic_add_em_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_add_em_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_surfx_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, dg_gyrokinetic_add_em_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_surfx_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_surfx_3x2v_ser_p1, NULL }, // 3 }; // Surface kernel list: y-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_y_kernels[] = { +static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_y_kernels[] = { // 1x kernels { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 // 2x kernels - { NULL, dg_gyrokinetic_add_em_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_surfy_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_surfy_3x2v_ser_p1, NULL }, // 3 }; // Surface kernel list: z-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_z_kernels[] = { +static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_z_kernels[] = { // 1x kernels { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 // 2x kernels { NULL, NULL, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_surfz_3x2v_ser_p1, NULL }, // 3 }; // Acceleration surface kernel list: vpar-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_surf_kern_list ser_add_em_surf_vpar_kernels[] = { +static const gkyl_dg_gyrokinetic_surf_kern_list ser_surf_vpar_kernels[] = { // 1x kernels - { NULL, dg_gyrokinetic_add_em_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_add_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_surfvpar_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, dg_gyrokinetic_add_em_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_surfvpar_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_surfvpar_3x2v_ser_p1, NULL }, // 3 }; // Conf-space advection boundary surface kernel list: x-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_x_kernels[] = { +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_x_kernels[] = { // 1x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_add_em_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_boundary_surfx_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_boundary_surfx_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }; // Conf-space advection boundary surface kernel list: y-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_y_kernels[] = { +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_y_kernels[] = { // 1x kernels { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 // 2x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_boundary_surfy_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }; // Conf-space advection boundary surface kernel list: z-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_z_kernels[] = { +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_z_kernels[] = { // 1x kernels { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 // 2x kernels { NULL, NULL, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }; // Acceleration boundary surface kernel (zero-flux BCs) list: vpar-direction GKYL_CU_D -static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_add_em_boundary_surf_vpar_kernels[] = { +static const gkyl_dg_gyrokinetic_boundary_surf_kern_list ser_boundary_surf_vpar_kernels[] = { // 1x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_boundary_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_boundary_surfvpar_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_boundary_surfvpar_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, dg_gyrokinetic_add_em_boundary_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_boundary_surfvpar_3x2v_ser_p1, NULL }, // 3 }; // "Choose Kernel" based on cdim, vdim and polyorder diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h index 6a3168695f..0cffbb84a9 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h @@ -30,7 +30,8 @@ struct gkyl_dg_updater_gyrokinetic_tm { * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param no_by Whether to neglect the toroidal field (b_y=0) - * @param add_em Whether to add electromagnetic terms + * @param is_em Whether to add electromagnetic terms + * @param add_apardot Whether to add the AparDot terms only. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param aux_inp Void pointer to auxiliary fields. Void to be flexible to different auxfields structs @@ -41,7 +42,7 @@ gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_r const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - const bool no_by, const bool add_em, const struct gk_geometry *gk_geom, + const bool no_by, const bool is_em, const bool add_apartdot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); /** @@ -70,6 +71,19 @@ void gkyl_dg_updater_gyrokinetic_advance(gkyl_dg_updater_gyrokinetic *gyrokineti const struct gkyl_range *update_rng, const struct gkyl_array* GKYL_RESTRICT fIn, struct gkyl_array* GKYL_RESTRICT cflrate, struct gkyl_array* GKYL_RESTRICT rhs); +/** + * Add Apardot electromagnetic contribution to the RHS. + * + * @param gyrokinetic + * @param update_rng + * @param fIn + * @param cflrate + * @param rhs + */ +void gkyl_dg_updater_gyrokinetic_add_apardot(gkyl_dg_updater_gyrokinetic *gyrokinetic, + const struct gkyl_range *update_rng, const struct gkyl_array* GKYL_RESTRICT fIn, + struct gkyl_array* GKYL_RESTRICT cflrate, struct gkyl_array* GKYL_RESTRICT rhs); + /** * Return total time spent in gyrokinetic equation * diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic_priv.h index 4a31af8325..0cf74cda77 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic_priv.h @@ -5,9 +5,12 @@ #include struct gkyl_dg_updater_gyrokinetic { - bool use_gpu; // Boolean for if the update is performed on GPUs - struct gkyl_dg_eqn *eqn_gyrokinetic; // Equation object - struct gkyl_hyper_dg *up_gyrokinetic; // solvers for specific gyrokinetic equation + bool use_gpu; // Boolean for if the update is performed on GPUs. + struct gkyl_dg_eqn *eqn_gyrokinetic; // Equation object. + struct gkyl_hyper_dg *up_gyrokinetic; // Solvers for specific gyrokinetic equation. - double gyrokinetic_tm; // total time spent in computing gyrokinetic equation + struct gkyl_dg_eqn *eqn_add_apardot_gyrokinetic; // Equation object to only add Apardot contribution. + struct gkyl_hyper_dg *up_add_apardot_gyrokinetic; // Solver to only add Apardot contribution. + + double gyrokinetic_tm; // Total time spent in computing gyrokinetic equation. }; diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index 47fdbb6918..fccb1e96d6 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -23,7 +23,8 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; * @param charge Species charge. * @param mass Species mass. * @param no_by Whether to neglect the toroidal field (b_y=0). - * @param add_em Whether this updater is meant to add EM terms only. + * @param is_em Whether this updater is EM. + * @param add_apardot Whether this updater is meant to add Apardot terms only. * @param gk_geom Gyrokinetic geometry object. * @param gk_dg_geom DG geometry object. * @param vel_map Velocity space mapping object. @@ -34,8 +35,8 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, const bool no_by, const bool add_em, - const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, + const double charge, const double mass, const bool no_by, const bool is_em, + const bool add_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); @@ -52,13 +53,15 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, * @param conf_ext_range Extended configuration space range (so we obtain geo quantities at all the needed surfaces). * @param phase_ext_range Extended Phase space range (so we obtain alpha_surf at all the needed surfaces). * @param phi Electrostatic potential. + * @param apar Parallel component of vector potential. * @param fin Distribution function. * @param flux_surf Output surface expansion in a cell on the *lower* edge in each direction. * @param clfrate Output CFL rate. */ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, const struct gkyl_array *phi, + const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, + const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate); /** diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index bc01805ce9..e715cfc0e0 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -14,14 +14,15 @@ typedef double (*gk_collisionless_flux_surf_t)(const double *w, const double *dx const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); + const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); typedef double (*gk_collisionless_flux_surfvpar_t)( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); + const double *bmag, const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); // The cv_index[cd].vdim[vd] is used to index the various list of // kernels below. @@ -46,8 +47,12 @@ struct gkyl_gk_collisionless_flux { gk_collisionless_flux_surf_t flux_surf_edge_up[GKYL_MAX_CDIM]; // kernel for computing surface expansion of phase space flux. // at upper configuration space edge gk_collisionless_flux_surfvpar_t flux_surfvpar[1]; // kernel for computing surface expansion of phase space flux alpha + + gk_collisionless_flux_surfvpar_t flux_surfvpar_add_apardot[1]; // kernel for adding dA_par/dt terms to surface expansion of phase space flux. + double charge, mass; - bool add_em; // wheter it is meant to only add electromagnetic terms. + bool is_em; // Whether it is electromagnetic. + bool add_apardot; // Whether it is meant to only add Apardot terms. const struct gk_geometry *gk_geom; // Pointer to geometry struct. const struct gkyl_dg_geom *dg_geom; // Pointer to vol dg geometry struct. const struct gkyl_gk_dg_geom *gk_dg_geom; // Pointer to vol gk dg geometry struct. @@ -427,369 +432,34 @@ choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_o // // Electromagnetic serendipity surface kernels. -// -// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_edge_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_edge_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_edge_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_add_em_surfvpar_kernels[] = { - { NULL, gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_surfvpar_3x2v_ser_p1, NULL }, // 3 -}; - -// -// Kernels used at multiblock boundaries. -// - -// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 -}; - - -// -// Serendipity surface kernels without toroidal field (by=0) -// -// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) +// Parallel electric field term. GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_add_em_no_by_surfvpar_kernels[] = { - { NULL, gk_collisionless_flux_add_em_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 -}; - -// -// Kernels used at multiblock boundaries. -// - -// Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_add_apardot_surfvpar_kernels[] = { + { NULL, gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1, NULL }, // 3 }; -// Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -// Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 -}; - -GKYL_CU_D -static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_add_em_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) -{ - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } -} - GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_add_em_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +get_gk_collisionless_flux_surf_zero_kern() { - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } + return gk_collisionless_flux_surf_return_zero; } GKYL_CU_D static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_add_em_surf_vpar_kern(int cdim, int vdim, int poly_order) -{ - return ser_gk_collisionless_flux_add_em_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; -} - -GKYL_CU_D -static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_add_em_no_by_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +get_gk_collisionless_flux_surfvpar_zero_kern() { - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_no_by_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_no_by_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_no_by_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } -} - -GKYL_CU_D -static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_add_em_no_by_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) -{ - if (bc == GKYL_BC_GK_SKIP) { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_no_by_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } - else { - if (dir == 0) - return ser_gk_collisionless_flux_add_em_no_by_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 1) - return ser_gk_collisionless_flux_add_em_no_by_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else if (dir == 2) - return ser_gk_collisionless_flux_add_em_no_by_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; - else - return NULL; - } + return gk_collisionless_flux_surfvpar_return_zero; } GKYL_CU_D static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_add_em_no_by_surf_vpar_kern(int cdim, int vdim, int poly_order) +choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(int cdim, int vdim, int poly_order) { - return ser_gk_collisionless_flux_add_em_no_by_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_add_apardot_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } #ifdef GKYL_HAVE_CUDA diff --git a/gyrokinetic/zero/gkyl_gk_dg_geom.h b/gyrokinetic/zero/gkyl_gk_dg_geom.h index 838b018382..41cb2d6482 100644 --- a/gyrokinetic/zero/gkyl_gk_dg_geom.h +++ b/gyrokinetic/zero/gkyl_gk_dg_geom.h @@ -22,6 +22,10 @@ struct gkyl_gk_dg_vol_geom { double bmag; // |B| double B3; // n^3 \cdot \vec{B} struct gkyl_vec3 dualcurlbhat; // duals dotted with curl(bhat) + double g_13; // metric tensor component g_{13} = e_1 . e_3 + double g_23; // metric tensor component g_{23} = e_2 . e_3 + double g_33; // metric tensor component g_{33} = e_3 . e_3 + double mag_e_3; // magnitude of e_3 }; From 70bcd7eb30b5d2ef1b6f23d220f28071a5000470 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 5 Nov 2025 18:24:47 -0500 Subject: [PATCH 029/181] microfix of a bug that occured during the merge of main --- gyrokinetic/apps/gyrokinetic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 3996ecb59b..e8d87e028e 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -881,7 +881,7 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) // MF 2024/09/27/: Need the cast here for consistency. Fixing // this may require removing 'const' from a lot of places. gyrokinetic_calc_field_enabled(app, t0, (const struct gkyl_array **) distf, bflux); - else { + } else { if (app->field->info.init_field_profile == 0) // Read the field. gk_field_file_import_init(app, app->field->info.init_from_file); From fcf2904a07beb5b7e2a3d64a70db87ada5d634cb Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 09:52:04 -0500 Subject: [PATCH 030/181] manualy port the collisionless_id and use it to decide if we add apar and apardot terms. --- core/zero/gkyl_eqn_type.h | 1 + gyrokinetic/apps/gk_species_collisionless.c | 22 +++++++++---------- gyrokinetic/zero/dg_gyrokinetic.c | 11 +++++----- gyrokinetic/zero/dg_updater_gyrokinetic.c | 4 ++-- gyrokinetic/zero/gk_collisionless_flux.c | 14 +++++------- gyrokinetic/zero/gkyl_dg_gyrokinetic.h | 8 +++---- .../zero/gkyl_dg_updater_gyrokinetic.h | 7 +++--- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 21 +++++++++--------- .../zero/gkyl_gk_collisionless_flux_priv.h | 2 +- 9 files changed, 43 insertions(+), 47 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 73b458e3d4..8fc42b6e36 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -178,6 +178,7 @@ enum gkyl_gk_anomalous_diff_id { enum gkyl_gk_collisionless_type { GKYL_GK_COLLISIONLESS_NONE = 0, // Turns off collisionless terms. GKYL_GK_COLLISIONLESS_ES, // Electrostatic. + GKYL_GK_COLLISIONLESS_ES_NO_BY, // Electrostatic, w/o toroidal field (b_y=0). GKYL_GK_COLLISIONLESS_EM_BPERP, // Electromagnetic with B_perp fluctuations. GKYL_GK_COLLISIONLESS_EM_BPAR, // Electromagnetic with B_par fluctuations. GKYL_GK_COLLISIONLESS_EM, // Electromagnetic with B_perp and B_par fluctuations. diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 84a7156d16..67dd8b4a96 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -132,9 +132,9 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie bctype_conf[GKYL_MAX_CDIM+d] = gks->upper_bc[d].type; } - bool add_apardot = false; + bool only_apardot = false; gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, @@ -142,20 +142,20 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Create solver. gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); if (gkcls->is_em) { - add_apardot = true; + only_apardot = true; // Create a special flux operator that only adds the AparDot contribution. - gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, - app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); + gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, + app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); // Create solver that only adds AparDot terms. - gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, - &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->no_by, gkcls->is_em, add_apardot, app->gk_geom, gks->vel_map, - &aux_inp, app->use_gpu); + gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, + gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, + &aux_inp, app->use_gpu); } // Methods chosen at runtime. diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index f7ad52c76b..187b3d8d01 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -47,7 +47,7 @@ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - const bool no_by, const bool is_em, const bool add_apardot, + enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { @@ -116,19 +116,18 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis break; } - if (no_by) { + if (collless_type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { gyrokinetic->eqn.vol_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); } else { - if (add_apardot) + if (only_apardot) gyrokinetic->eqn.vol_term = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); else gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); } - // gyrokinetic->vol_add_apar_term = COLLESS_TYPE == GKYL_GK_COLLISIONLESS_EM ? CK(vol_add_apar_kernels,cdim,vdim,poly_order) - // : kernel_dg_gyrokinetic_vol_return_zero; - gyrokinetic->vol_add_apar_term = is_em ? CK(vol_add_apar_kernels,cdim,vdim,poly_order) : kernel_dg_gyrokinetic_vol_return_zero; + gyrokinetic->vol_add_apar_term = collless_type == GKYL_GK_COLLISIONLESS_EM ? + CK(vol_add_apar_kernels,cdim,vdim,poly_order) : kernel_dg_gyrokinetic_vol_return_zero; gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); if (cdim>1) diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index d454ad4af6..322aa2558d 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -22,7 +22,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - const bool no_by, const bool is_em, const bool add_apardot, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu) { struct gkyl_dg_updater_gyrokinetic *up = gkyl_malloc(sizeof(struct gkyl_dg_updater_gyrokinetic)); @@ -30,7 +30,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, up->use_gpu = use_gpu; up->eqn_gyrokinetic = gkyl_dg_gyrokinetic_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, no_by, is_em, add_apardot, gk_geom, vel_map, up->use_gpu); + charge, mass, skip_cell_threshold, collless_type, only_apardot, gk_geom, vel_map, up->use_gpu); struct gkyl_dg_gyrokinetic_auxfields *gk_inp = aux_inp; gkyl_gyrokinetic_set_auxfields(up->eqn_gyrokinetic, *gk_inp); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 85bba2e56f..28bd386614 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -17,8 +17,8 @@ gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, const bool no_by, const bool is_em, - const bool add_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, + const double charge, const double mass, enum gkyl_gk_collisionless_type type, + const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu) { @@ -40,8 +40,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->charge = charge; up->mass = mass; - up->is_em = is_em; - up->add_apardot = add_apardot; + up->only_apardot = only_apardot; up->gk_geom = gkyl_gk_geometry_acquire(gk_geom); up->dg_geom = gkyl_dg_geom_acquire(dg_geom); up->gk_dg_geom = gkyl_gk_dg_geom_acquire(gk_dg_geom); @@ -51,9 +50,8 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->flux_surfvpar_add_apardot[0] = get_gk_collisionless_flux_surfvpar_zero_kern(); // Choose appropriate kernels. - if (add_apardot){ - // If we only add Apardot terms to the flux, we set every conf flux_surf kernel to 0 and we cable the vpar one to the - // appropriate add Apardot kernel (no conf surf contributions). + if (only_apardot){ + // If we only add Apardot terms to the flux, the only non zero kernel is the vpar one. for (int d=0; dflux_surf[d] = get_gk_collisionless_flux_surf_zero_kern(); up->flux_surf_edge_lo[d] = get_gk_collisionless_flux_surf_zero_kern(); @@ -61,7 +59,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, } up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); } else { - if (no_by) { + if (type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h index 7aea13e2a7..43ec48ee34 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h @@ -27,9 +27,8 @@ struct gkyl_dg_gyrokinetic_auxfields { * @param charge Species charge * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation - * @param no_by Whether to neglect the toroidal field (b_y=0) - * @param is_em Whether the updater only adds EM terms. - * @param add_apardot Whether to add the AparDot terms only. + * @param collless_type Type of collisionless terms. + * @param only_apardot Whether we want to only add the apardot term. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param use_gpu Boolean to determine if gyrokinetic equation object is on device @@ -38,9 +37,10 @@ struct gkyl_dg_gyrokinetic_auxfields { struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - const bool no_by, const bool is_em, const bool add_apardot, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu); + /** * Set the auxiliary fields (e.g. EM fields) needed in computing * gyrokinetic updates. diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h index 0cffbb84a9..3512e87fe7 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h @@ -29,9 +29,8 @@ struct gkyl_dg_updater_gyrokinetic_tm { * @param charge Species charge * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation - * @param no_by Whether to neglect the toroidal field (b_y=0) - * @param is_em Whether to add electromagnetic terms - * @param add_apardot Whether to add the AparDot terms only. + * @param collless_type Type of collisionless terms. + * @param only_apardot Whether we want to only add the apardot term. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param aux_inp Void pointer to auxiliary fields. Void to be flexible to different auxfields structs @@ -42,7 +41,7 @@ gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_r const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - const bool no_by, const bool is_em, const bool add_apartdot, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); /** diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index fccb1e96d6..43db9539a5 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -17,26 +17,25 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; * Create new updater to compute the surface expansion of phase space * flux due to the collisionless gyrokinetic terms. * - * @param phase_grid Phase space grid (for getting cell spacing and cell center). - * @param conf_basis Configuration space basis functions. - * @param phase_basis Phase space basis functions. - * @param charge Species charge. - * @param mass Species mass. - * @param no_by Whether to neglect the toroidal field (b_y=0). - * @param is_em Whether this updater is EM. - * @param add_apardot Whether this updater is meant to add Apardot terms only. + * @param phase_grid Phase space grid (for getting cell spacing and cell center) + * @param conf_basis Configuration space basis functions + * @param phase_basis Phase space basis functions + * @param charge Species charge + * @param mass Species mass + * @param collless_type Type of collisionless terms. + * @param only_apardot Whether to only add Apardot terms to the flux. * @param gk_geom Gyrokinetic geometry object. * @param gk_dg_geom DG geometry object. * @param vel_map Velocity space mapping object. * @param bctype_conf Type of conf-space BCs. - * @param use_gpu Whether to use GPU. + * @param use_gpu bool to determine if on GPU * @return New updater pointer. */ struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, const bool no_by, const bool is_em, - const bool add_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, + const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, + const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index e715cfc0e0..1554744832 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -52,7 +52,7 @@ struct gkyl_gk_collisionless_flux { double charge, mass; bool is_em; // Whether it is electromagnetic. - bool add_apardot; // Whether it is meant to only add Apardot terms. + bool only_apardot; // Whether it is meant to only add Apardot terms. const struct gk_geometry *gk_geom; // Pointer to geometry struct. const struct gkyl_dg_geom *dg_geom; // Pointer to vol dg geometry struct. const struct gkyl_gk_dg_geom *gk_dg_geom; // Pointer to vol gk dg geometry struct. From 5df88fc8a716dab459f74aad83bf47da3e2d6bae Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 09:59:52 -0500 Subject: [PATCH 031/181] remove unused zero surf vpar kernel and adjust logic between EM and EM_BPERP. --- gyrokinetic/zero/dg_gyrokinetic.c | 2 +- gyrokinetic/zero/gk_collisionless_flux.c | 5 +---- gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h | 9 --------- 3 files changed, 2 insertions(+), 14 deletions(-) diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 187b3d8d01..5f45cec8b5 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -126,7 +126,7 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); } - gyrokinetic->vol_add_apar_term = collless_type == GKYL_GK_COLLISIONLESS_EM ? + gyrokinetic->vol_add_apar_term = collless_type == GKYL_GK_COLLISIONLESS_EM || GKYL_GK_COLLISIONLESS_EM_BPERP ? CK(vol_add_apar_kernels,cdim,vdim,poly_order) : kernel_dg_gyrokinetic_vol_return_zero; gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 28bd386614..cf41588173 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -46,9 +46,6 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->gk_dg_geom = gkyl_gk_dg_geom_acquire(gk_dg_geom); up->vel_map = gkyl_velocity_map_acquire(vel_map); - // Set apardot function to zero by default. - up->flux_surfvpar_add_apardot[0] = get_gk_collisionless_flux_surfvpar_zero_kern(); - // Choose appropriate kernels. if (only_apardot){ // If we only add Apardot terms to the flux, the only non zero kernel is the vpar one. @@ -69,7 +66,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); - } else { + } else { // The Apar term is included in the kernels. If we are ES, Apar=0. for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 1554744832..bc22bd4399 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -48,8 +48,6 @@ struct gkyl_gk_collisionless_flux { // at upper configuration space edge gk_collisionless_flux_surfvpar_t flux_surfvpar[1]; // kernel for computing surface expansion of phase space flux alpha - gk_collisionless_flux_surfvpar_t flux_surfvpar_add_apardot[1]; // kernel for adding dA_par/dt terms to surface expansion of phase space flux. - double charge, mass; bool is_em; // Whether it is electromagnetic. bool only_apardot; // Whether it is meant to only add Apardot terms. @@ -448,13 +446,6 @@ get_gk_collisionless_flux_surf_zero_kern() return gk_collisionless_flux_surf_return_zero; } -GKYL_CU_D -static gk_collisionless_flux_surfvpar_t -get_gk_collisionless_flux_surfvpar_zero_kern() -{ - return gk_collisionless_flux_surfvpar_return_zero; -} - GKYL_CU_D static gk_collisionless_flux_surfvpar_t choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(int cdim, int vdim, int poly_order) From 37799cbd9b1dddebc52b03ecc7925a88f980001d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 10:25:11 -0500 Subject: [PATCH 032/181] Simplification of the field enum table. We do not set if we have ES or EM anymore because this is set by the presence of a EM species. The is_clopen flag is removed because now it is simply the id GK_FIELD_IWL. --- core/zero/gkyl_eqn_type.h | 6 ++--- gyrokinetic/apps/gk_field.c | 25 +++++++++++-------- gyrokinetic/apps/gk_multib_field.c | 2 +- gyrokinetic/apps/gk_species_projection.c | 2 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 - gyrokinetic/apps/gyrokinetic.c | 4 +-- gyrokinetic/apps/gyrokinetic_lw.c | 6 ++--- gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c | 2 +- .../creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c | 2 +- .../creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c | 2 +- 12 files changed, 28 insertions(+), 28 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 8fc42b6e36..6e3c43b073 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -34,12 +34,10 @@ enum gkyl_eqn_type { // Identifiers for specific gyrokinetic field object types. enum gkyl_gkfield_id { - GKYL_GK_FIELD_ES = 0, // Electrostatic GK. This is default. + GKYL_GK_FIELD = 0, // This is default. GKYL_GK_FIELD_BOLTZMANN = 1, // GK Boltzmann, isothermal electrons, phi = phi_sheath + (T_e/e)*ln(n_i/n_is). GKYL_GK_FIELD_ADIABATIC = 2, // GK field with an adiabatic species. - GKYL_GK_FIELD_ES_IWL = 3, // Inner-wall limited ES. - GKYL_GK_FIELD_EM = 4, // Electromagnetic GK. - GKYL_GK_FIELD_EM_IWL = 5, // Inner-wall limited EM. + GKYL_GK_FIELD_IWL = 3, // Inner-wall limited ES. }; // Identifiers for specific field object types. diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 35fe662533..dae8d771a8 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -270,11 +270,16 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->info = gk->field; - f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD_ES; - - f->is_clopen = f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL; - - f->is_em = f->gkfield_id == GKYL_GK_FIELD_EM || f->gkfield_id == GKYL_GK_FIELD_EM_IWL; + f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD; + + f->is_em = false; + // Ensure that if any species is electromagnetic, the field is electromagnetic. + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + f->is_em = f->is_em || s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM || + s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP || + s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPAR; + } f->calc_init_field = !f->info.zero_init_field; f->update_field = !f->info.is_static; @@ -463,7 +468,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } // Potential smoothing (in z) updater - if (f->is_clopen) { + if (f->gkfield_id == GKYL_GK_FIELD_IWL) { enum gkyl_fem_parproj_bc_type fem_parproj_bc_core, fem_parproj_bc_sol; if (app->cdim == 2) { fem_parproj_bc_core = GKYL_FEM_PARPROJ_PERIODIC; @@ -745,7 +750,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Twist-and-shift boundary condition for phi and skin surface from ghost to impose phi periodicity at z=-pi. f->enforce_parallel_bc = gk_field_enforce_parallel_bc_disabled; - if (f->is_clopen) { + if (f->gkfield_id == GKYL_GK_FIELD_IWL) { gk_field_add_TSBC_and_SSFG_updaters(app,f); f->enforce_parallel_bc = gk_field_enforce_parallel_bc_enabled; } @@ -901,7 +906,7 @@ gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field) // Gather charge density into global array. // Smooth the charge density. Input is rho_c_global_dg, globally smoothed in z, // and then output should be in *local* phi_smooth. - if (field->is_clopen) { + if (field->gkfield_id == GKYL_GK_FIELD_IWL) { gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->rho_c, field->rho_c_global_dg); gkyl_fem_parproj_set_rhs(field->fem_parproj_core, field->rho_c_global_dg, field->rho_c_global_dg); gkyl_fem_parproj_solve(field->fem_parproj_core, field->rho_c_global_smooth); @@ -1137,7 +1142,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } } - if (app->cdim > 1 && f->is_clopen) { + if (app->cdim > 1 && f->gkfield_id == GKYL_GK_FIELD_IWL) { gkyl_fem_parproj_release(f->fem_parproj_core); gkyl_fem_parproj_release(f->fem_parproj_sol); } else { @@ -1145,7 +1150,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } // Release TS BS and SSFG updater - if (f->is_clopen) { + if (f->gkfield_id == GKYL_GK_FIELD_IWL) { if(app->cdim == 3) { gkyl_bc_twistshift_release(f->bc_T_LU_lo); } diff --git a/gyrokinetic/apps/gk_multib_field.c b/gyrokinetic/apps/gk_multib_field.c index fbb68473b1..9ad3fecbbd 100644 --- a/gyrokinetic/apps/gk_multib_field.c +++ b/gyrokinetic/apps/gk_multib_field.c @@ -417,7 +417,7 @@ gk_multib_field_new(const struct gkyl_gyrokinetic_multib *mbinp, struct gkyl_gyr struct gk_multib_field *mbf = gkyl_malloc(sizeof(struct gk_multib_field)); mbf->info = mbinp->field; - mbf->gkfield_id = mbf->info.gkfield_id? mbf->info.gkfield_id : GKYL_GK_FIELD_ES; + mbf->gkfield_id = mbf->info.gkfield_id? mbf->info.gkfield_id : GKYL_GK_FIELD; mbf->num_local_blocks = mbapp->num_local_blocks; mbf->cdim = mbapp->block_topo->ndim; mbf->half_domain = mbf->info.half_domain ? mbf->info.half_domain : false; diff --git a/gyrokinetic/apps/gk_species_projection.c b/gyrokinetic/apps/gk_species_projection.c index 1a41cb8d9b..bf3cf7a93a 100644 --- a/gyrokinetic/apps/gk_species_projection.c +++ b/gyrokinetic/apps/gk_species_projection.c @@ -285,7 +285,7 @@ init_maxwellian_gaussian(struct gkyl_gyrokinetic_app *app, struct gk_species *s, // Set periodicity for last dim if we are in IWL, and all other directions defined by the user. for (int dir = 0; dir < GKYL_MAX_CDIM; ++dir) fg_ctx.is_dir_periodic[dir] = false; - fg_ctx.is_dir_periodic[app->cdim-1] = app->field->info.gkfield_id == GKYL_GK_FIELD_ES_IWL || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; + fg_ctx.is_dir_periodic[app->cdim-1] = app->field->info.gkfield_id == GKYL_GK_FIELD_IWL; for (int i=0; i < app->num_periodic_dir; ++i) fg_ctx.is_dir_periodic[app->periodic_dirs[i]] = true; diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 74c82e0b45..20a07b56ed 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1140,7 +1140,6 @@ struct gk_field { bool update_field; // Are we updating the field?. bool calc_init_field; // Whether to compute the t=0 field. bool is_em; // Whether EM model. - bool is_clopen; // Whether we are in a closed + open field line geometry. struct gkyl_job_pool *job_pool; // Job pool // arrays for local charge density, global charge density, and global smoothed (in z) charge density diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index e8d87e028e..03aee232ea 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1153,7 +1153,7 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame } gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); - if (app->field->gkfield_id == GKYL_GK_FIELD_EM || app->field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + if (app->field->is_em) { const char *fmt = "%s-apar_%d.gkyl"; int sz = gkyl_calc_strlen(fmt, app->name, frame); char fileNm[sz+1]; // ensures no buffer overflow @@ -1163,7 +1163,7 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame } gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm); } - if (app->field->gkfield_id == GKYL_GK_FIELD_EM || app->field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + if (app->field->is_em) { const char *fmt = "%s-apardot_%d.gkyl"; int sz = gkyl_calc_strlen(fmt, app->name, frame); char fileNm[sz+1]; // ensures no buffer overflow diff --git a/gyrokinetic/apps/gyrokinetic_lw.c b/gyrokinetic/apps/gyrokinetic_lw.c index 22512460d9..0b0ffad779 100644 --- a/gyrokinetic/apps/gyrokinetic_lw.c +++ b/gyrokinetic/apps/gyrokinetic_lw.c @@ -66,12 +66,10 @@ static const struct gkyl_str_int_pair gk_collisionless_type[] = { // Gyrokinetic field type -> enum map. static const struct gkyl_str_int_pair gk_field_type[] = { - { "Electrostatic", GKYL_GK_FIELD_ES }, + { "Default", GKYL_GK_FIELD }, { "Boltzmann", GKYL_GK_FIELD_BOLTZMANN }, { "Adiabatic", GKYL_GK_FIELD_ADIABATIC }, - { "ElectrostaticIWL", GKYL_GK_FIELD_ES_IWL }, - { "Electromagnetic", GKYL_GK_FIELD_EM }, - { "ElectromagneticIWL", GKYL_GK_FIELD_EM_IWL }, + { "Inner wall limited", GKYL_GK_FIELD_IWL }, { 0, 0 } }; diff --git a/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c b/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c index c0dd850001..369e9e2e26 100644 --- a/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c @@ -740,7 +740,7 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES_IWL, + .gkfield_id = GKYL_GK_FIELD_IWL, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, diff --git a/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c b/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c index d53d8415e3..6d3ac6c818 100644 --- a/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c @@ -825,7 +825,7 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES_IWL, + .gkfield_id = GKYL_GK_FIELD_IWL, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, diff --git a/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c b/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c index 0debccf7a5..6358a82675 100644 --- a/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c @@ -424,7 +424,7 @@ int main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES_IWL, + .gkfield_id = GKYL_GK_FIELD_IWL, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c index 46a66d7af1..f8e325cfb1 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c @@ -748,7 +748,7 @@ main(int argc, char **argv) // Field. struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES_IWL, + .gkfield_id = GKYL_GK_FIELD_IWL, .polarization_bmag = ctx.Bref, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c index 6e912d8602..7912cb0324 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c @@ -781,7 +781,7 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES_IWL, + .gkfield_id = GKYL_GK_FIELD_IWL, .polarization_bmag = ctx.Bref, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, From 443531110617410075e7a09243c9c2d67da44c8f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 10:36:47 -0500 Subject: [PATCH 033/181] Add a field_id to activate EM effects regardless of a possible EM species (useful for debugging or just checking how EM is important). Also I see that the regression test of d3d 2x2v is exaclty runing like the main branch right now so this branch is safe in term of not messing with ES limit. --- core/zero/gkyl_eqn_type.h | 1 + gyrokinetic/apps/gk_field.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 6e3c43b073..b38c545e75 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -38,6 +38,7 @@ enum gkyl_gkfield_id { GKYL_GK_FIELD_BOLTZMANN = 1, // GK Boltzmann, isothermal electrons, phi = phi_sheath + (T_e/e)*ln(n_i/n_is). GKYL_GK_FIELD_ADIABATIC = 2, // GK field with an adiabatic species. GKYL_GK_FIELD_IWL = 3, // Inner-wall limited ES. + GKYL_GK_FIELD_EM = 4, // To force electromagnetic field solve (even if no species is EM). }; // Identifiers for specific field object types. diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index dae8d771a8..3b89578eba 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -272,7 +272,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD; - f->is_em = false; + f->is_em = f->info.gkfield_id == GKYL_GK_FIELD_EM; // Ensure that if any species is electromagnetic, the field is electromagnetic. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; From 5989b561a8be7822b5586c9d652a69add3dfdfd1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 10:41:05 -0500 Subject: [PATCH 034/181] need to add a EM_IWL field_id too --- core/zero/gkyl_eqn_type.h | 1 + gyrokinetic/apps/gk_field.c | 12 ++++++------ gyrokinetic/apps/gk_species_projection.c | 2 +- gyrokinetic/apps/gyrokinetic_lw.c | 2 ++ 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index b38c545e75..34ba8a6594 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -39,6 +39,7 @@ enum gkyl_gkfield_id { GKYL_GK_FIELD_ADIABATIC = 2, // GK field with an adiabatic species. GKYL_GK_FIELD_IWL = 3, // Inner-wall limited ES. GKYL_GK_FIELD_EM = 4, // To force electromagnetic field solve (even if no species is EM). + GKYL_GK_FIELD_EM_IWL = 5, // As above but for IWL. }; // Identifiers for specific field object types. diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 3b89578eba..ac0ca76007 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -272,7 +272,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD; - f->is_em = f->info.gkfield_id == GKYL_GK_FIELD_EM; + f->is_em = f->info.gkfield_id == GKYL_GK_FIELD_EM || f->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; // Ensure that if any species is electromagnetic, the field is electromagnetic. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; @@ -468,7 +468,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } // Potential smoothing (in z) updater - if (f->gkfield_id == GKYL_GK_FIELD_IWL) { + if (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { enum gkyl_fem_parproj_bc_type fem_parproj_bc_core, fem_parproj_bc_sol; if (app->cdim == 2) { fem_parproj_bc_core = GKYL_FEM_PARPROJ_PERIODIC; @@ -750,7 +750,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Twist-and-shift boundary condition for phi and skin surface from ghost to impose phi periodicity at z=-pi. f->enforce_parallel_bc = gk_field_enforce_parallel_bc_disabled; - if (f->gkfield_id == GKYL_GK_FIELD_IWL) { + if (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { gk_field_add_TSBC_and_SSFG_updaters(app,f); f->enforce_parallel_bc = gk_field_enforce_parallel_bc_enabled; } @@ -906,7 +906,7 @@ gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field) // Gather charge density into global array. // Smooth the charge density. Input is rho_c_global_dg, globally smoothed in z, // and then output should be in *local* phi_smooth. - if (field->gkfield_id == GKYL_GK_FIELD_IWL) { + if (field->gkfield_id == GKYL_GK_FIELD_IWL || field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->rho_c, field->rho_c_global_dg); gkyl_fem_parproj_set_rhs(field->fem_parproj_core, field->rho_c_global_dg, field->rho_c_global_dg); gkyl_fem_parproj_solve(field->fem_parproj_core, field->rho_c_global_smooth); @@ -1142,7 +1142,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } } - if (app->cdim > 1 && f->gkfield_id == GKYL_GK_FIELD_IWL) { + if (app->cdim > 1 && (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL)) { gkyl_fem_parproj_release(f->fem_parproj_core); gkyl_fem_parproj_release(f->fem_parproj_sol); } else { @@ -1150,7 +1150,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } // Release TS BS and SSFG updater - if (f->gkfield_id == GKYL_GK_FIELD_IWL) { + if (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { if(app->cdim == 3) { gkyl_bc_twistshift_release(f->bc_T_LU_lo); } diff --git a/gyrokinetic/apps/gk_species_projection.c b/gyrokinetic/apps/gk_species_projection.c index bf3cf7a93a..d5c0f10db5 100644 --- a/gyrokinetic/apps/gk_species_projection.c +++ b/gyrokinetic/apps/gk_species_projection.c @@ -285,7 +285,7 @@ init_maxwellian_gaussian(struct gkyl_gyrokinetic_app *app, struct gk_species *s, // Set periodicity for last dim if we are in IWL, and all other directions defined by the user. for (int dir = 0; dir < GKYL_MAX_CDIM; ++dir) fg_ctx.is_dir_periodic[dir] = false; - fg_ctx.is_dir_periodic[app->cdim-1] = app->field->info.gkfield_id == GKYL_GK_FIELD_IWL; + fg_ctx.is_dir_periodic[app->cdim-1] = app->field->info.gkfield_id == GKYL_GK_FIELD_IWL || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; for (int i=0; i < app->num_periodic_dir; ++i) fg_ctx.is_dir_periodic[app->periodic_dirs[i]] = true; diff --git a/gyrokinetic/apps/gyrokinetic_lw.c b/gyrokinetic/apps/gyrokinetic_lw.c index 0b0ffad779..61af730b18 100644 --- a/gyrokinetic/apps/gyrokinetic_lw.c +++ b/gyrokinetic/apps/gyrokinetic_lw.c @@ -70,6 +70,8 @@ static const struct gkyl_str_int_pair gk_field_type[] = { { "Boltzmann", GKYL_GK_FIELD_BOLTZMANN }, { "Adiabatic", GKYL_GK_FIELD_ADIABATIC }, { "Inner wall limited", GKYL_GK_FIELD_IWL }, + { "Electromagnetic", GKYL_GK_FIELD_EM }, + { "Electromagnetic Inner wall limited", GKYL_GK_FIELD_EM_IWL }, { 0, 0 } }; From 9e35f23bf1fe013eefcafe839c67813244b75835 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 10:54:26 -0500 Subject: [PATCH 035/181] forgot to connect ampere bc input with the field initialization. --- gyrokinetic/apps/gk_field.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index ac0ca76007..1285dd418d 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -648,14 +648,14 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Translate input file BCs into Ampere BCs. for (int d=0; dcdim-1; d++) { - struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); + struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); if (bc_lo != 0) { f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); for (int i=0; i<3; i++) f->ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; } - struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.poisson_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); + struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); if (bc_up != 0) { f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); for (int i=0; i<3; i++) From 46ccfb5c78351c4fbbdbaecb357d643b7d4e02d9 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 14:29:07 -0500 Subject: [PATCH 036/181] Split the collisionless flux kernels between electrostatic (es) and electromagnetic (em). The em one are including Apar. The split is meant to avoid many steps that are reduced to 0 when using the em in the es limit. This commit can run in the ES limit while also compute the EM fields. --- gyrokinetic/apps/gk_species.c | 12 +- gyrokinetic/apps/gk_species_collisionless.c | 34 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 4 +- gyrokinetic/apps/gyrokinetic.c | 41 +- .../gk_collisionless_flux_surf_return_zero.h | 0 ...s_flux_add_apardot_surfvpar_1x1v_ser_p1.c} | 2 +- ...s_flux_add_apardot_surfvpar_1x2v_ser_p1.c} | 2 +- ...s_flux_add_apardot_surfvpar_2x2v_ser_p1.c} | 2 +- ...s_flux_add_apardot_surfvpar_3x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfx_1x1v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfx_1x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfx_2x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfx_3x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfy_2x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfy_3x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfz_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_1x1v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_1x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfz_3x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_1x1v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_1x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_2x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_3x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfy_2x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfy_3x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfz_3x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfx_2x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfx_3x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfy_2x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfy_3x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfz_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfz_3x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfx_2x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfx_3x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfy_2x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfy_3x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfz_3x2v_ser_p1.c} | 2 +- ...ionless_flux_no_by_surfvpar_2x2v_ser_p1.c} | 10 +- ...ionless_flux_no_by_surfvpar_3x2v_ser_p1.c} | 18 +- ...lisionless_flux_no_by_surfx_2x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfx_3x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfy_2x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfy_3x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfz_3x2v_ser_p1.c} | 2 +- ...collisionless_flux_surfvpar_1x1v_ser_p1.c} | 4 +- ...collisionless_flux_surfvpar_1x2v_ser_p1.c} | 6 +- ...collisionless_flux_surfvpar_2x2v_ser_p1.c} | 2 +- ...collisionless_flux_surfvpar_3x2v_ser_p1.c} | 18 +- ...em_collisionless_flux_surfx_1x1v_ser_p1.c} | 2 +- ...em_collisionless_flux_surfx_1x2v_ser_p1.c} | 2 +- ...em_collisionless_flux_surfx_2x2v_ser_p1.c} | 2 +- ...em_collisionless_flux_surfx_3x2v_ser_p1.c} | 2 +- ...em_collisionless_flux_surfy_2x2v_ser_p1.c} | 2 +- ...em_collisionless_flux_surfy_3x2v_ser_p1.c} | 2 +- ...em_collisionless_flux_surfz_3x2v_ser_p1.c} | 2 +- ...ollisionless_flux_edge_surfx_1x1v_ser_p1.c | 97 + ...ollisionless_flux_edge_surfx_1x2v_ser_p1.c | 125 ++ ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 192 ++ ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 323 +++ ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 192 ++ ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 325 +++ ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 323 +++ ...x_multib_boundary_edge_surfx_1x1v_ser_p1.c | 99 + ...x_multib_boundary_edge_surfx_1x2v_ser_p1.c | 127 ++ ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 206 ++ ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 349 ++++ ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 206 ++ ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 351 ++++ ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 349 ++++ ...s_flux_multib_boundary_surfx_1x1v_ser_p1.c | 99 + ...s_flux_multib_boundary_surfx_1x2v_ser_p1.c | 127 ++ ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 206 ++ ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 349 ++++ ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 206 ++ ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 351 ++++ ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 349 ++++ ...onless_flux_no_by_edge_surfx_2x2v_ser_p1.c | 192 ++ ...onless_flux_no_by_edge_surfx_3x2v_ser_p1.c | 323 +++ ...onless_flux_no_by_edge_surfy_2x2v_ser_p1.c | 192 ++ ...onless_flux_no_by_edge_surfy_3x2v_ser_p1.c | 325 +++ ...onless_flux_no_by_edge_surfz_3x2v_ser_p1.c | 323 +++ ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 206 ++ ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 349 ++++ ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 206 ++ ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 351 ++++ ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 349 ++++ ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 206 ++ ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 349 ++++ ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 206 ++ ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 351 ++++ ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 349 ++++ ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 185 ++ ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 310 +++ ...llisionless_flux_no_by_surfx_2x2v_ser_p1.c | 192 ++ ...llisionless_flux_no_by_surfx_3x2v_ser_p1.c | 323 +++ ...llisionless_flux_no_by_surfy_2x2v_ser_p1.c | 192 ++ ...llisionless_flux_no_by_surfy_3x2v_ser_p1.c | 325 +++ ...llisionless_flux_no_by_surfz_3x2v_ser_p1.c | 323 +++ ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 100 + ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 120 ++ ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 185 ++ ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 310 +++ ..._es_collisionless_flux_surfx_1x1v_ser_p1.c | 97 + ..._es_collisionless_flux_surfx_1x2v_ser_p1.c | 125 ++ ..._es_collisionless_flux_surfx_2x2v_ser_p1.c | 192 ++ ..._es_collisionless_flux_surfx_3x2v_ser_p1.c | 323 +++ ..._es_collisionless_flux_surfy_2x2v_ser_p1.c | 192 ++ ..._es_collisionless_flux_surfy_3x2v_ser_p1.c | 325 +++ ..._es_collisionless_flux_surfz_3x2v_ser_p1.c | 323 +++ .../gkyl_gk_collisionless_flux_kernels.h | 1774 +++++++++++++---- gyrokinetic/zero/gk_collisionless_flux.c | 17 +- .../zero/gkyl_gk_collisionless_flux_priv.h | 649 ++++-- machines/configure.macos.sh | 2 +- machines/mkdeps.macos.sh | 2 +- 122 files changed, 15304 insertions(+), 763 deletions(-) create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.h rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c => gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c} (97%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c => gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c => gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c => gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c => gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c => gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c} (97%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c} (94%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c} (96%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfvpar_1x1v_ser_p1.c => gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c} (94%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfvpar_1x2v_ser_p1.c => gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c} (94%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfvpar_2x2v_ser_p1.c => gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfvpar_3x2v_ser_p1.c => gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfx_1x1v_ser_p1.c => gk_em_collisionless_flux_surfx_1x1v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfx_1x2v_ser_p1.c => gk_em_collisionless_flux_surfx_1x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfx_2x2v_ser_p1.c => gk_em_collisionless_flux_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfx_3x2v_ser_p1.c => gk_em_collisionless_flux_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfy_2x2v_ser_p1.c => gk_em_collisionless_flux_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfy_3x2v_ser_p1.c => gk_em_collisionless_flux_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfz_3x2v_ser_p1.c => gk_em_collisionless_flux_surfz_3x2v_ser_p1.c} (99%) create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfz_3x2v_ser_p1.c diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 0fcc38ea28..9852dadecf 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1062,7 +1062,12 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; - gks->add_apardot_rhs_func = gks->is_em ? gk_species_add_apardot_dynamic : gk_species_rhs_static; + + if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM || gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP) + gks->add_apardot_rhs_func = gk_species_add_apardot_dynamic; + else + gks->add_apardot_rhs_func = gk_species_rhs_static; + gks->bflux_update = gk_species_update_bflux_dynamic; gks->get_cfl = gk_species_get_cfl_dynamic; gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; @@ -1580,7 +1585,6 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->gyro_phi = gkyl_array_acquire(app->field->phi_smooth); } - gks->is_em = app->field->is_em; // We do not have FLR effects for EM yet. gks->gyro_apar = gkyl_array_acquire(app->field->apar_smooth); gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); @@ -1593,7 +1597,7 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->anom_diff = (struct gk_anomalous_diff) { }; gk_species_anomalous_diff_init(app, gks, &gks->anom_diff); - if (gks->collisionless.is_em) { + if (app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL) { // To compute current density for Ampere's law and current dot for Ohm's law. gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); } @@ -1997,7 +2001,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) gkyl_array_release(s->gyro_apar); gkyl_array_release(s->gyro_apardot); - if (s->is_em) + if (app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL) gk_species_moment_release(app, &s->m1); s->release_func(app, s); diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 67dd8b4a96..f583348e80 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -82,7 +82,6 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie { gkcls->collisionless_id = gks->info.collisionless.type; gkcls->no_by = gks->info.collisionless.no_by; - gkcls->is_em = app->field->is_em; gkcls->write_diagnostics = gks->info.collisionless.write_diagnostics; gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; @@ -144,27 +143,28 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); - - if (gkcls->is_em) { - only_apardot = true; - // Create a special flux operator that only adds the AparDot contribution. - gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, - app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); - // Create solver that only adds AparDot terms. - gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, - &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, - &aux_inp, app->use_gpu); - } // Methods chosen at runtime. gkcls->flux_func = gk_species_collisionless_flux_enabled; gkcls->rhs_func = gk_species_collisionless_rhs_enabled; - if (gkcls->is_em) - gkcls->add_apardot_rhs_func = gk_species_collisionless_add_apardot_rhs_enabled; if (gkcls->write_diagnostics) gkcls->write_diags_func = gk_species_collisionless_write_diags_enabled; + + // Electromagnetic set up. + if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM || gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { + only_apardot = true; + // Create a special flux operator that only adds the AparDot contribution. + gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, + app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); + // Create solver that only adds AparDot terms. + gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, + gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, + &aux_inp, app->use_gpu); + // Methods chosen at runtime. + gkcls->add_apardot_rhs_func = gk_species_collisionless_add_apardot_rhs_enabled; + } } } @@ -206,7 +206,7 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); - if (gkcls->is_em) { + if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM || gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { gkyl_gk_collisionless_flux_release(gkcls->add_apardot_surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->add_apardot_slvr); } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 20a07b56ed..1d20669c52 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -286,7 +286,6 @@ struct gk_rad_drag { struct gk_collisionless { enum gkyl_gk_collisionless_type collisionless_id; // Type of collisionless terms. bool no_by; // Whether to neglect the toroidal field (b_y=0). - bool is_em; // Whether we have EM effects. bool write_diagnostics; // Whether to write diagnostics out. // Organization of the different equation objects and the required data and solvers @@ -870,7 +869,6 @@ struct gk_species { struct gkyl_array *gyro_phi; // Gyroaveraged electrostatic potential. struct gkyl_array *gyro_apar; // Gyroaveraged parallel vector potential. struct gkyl_array *gyro_apardot; // Gyroaveraged parallel vector potential time derivative. - bool is_em; // Whether electromagnetic terms are present. struct gk_species_moment m0; // Computes charge density. struct gk_species_moment m1; // Computes current density. @@ -1139,7 +1137,7 @@ struct gk_field { bool update_field; // Are we updating the field?. bool calc_init_field; // Whether to compute the t=0 field. - bool is_em; // Whether EM model. + bool is_em; // Whether we solve the EM field equations. struct gkyl_job_pool *job_pool; // Job pool // arrays for local charge density, global charge density, and global smoothed (in z) charge density diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 03aee232ea..92d229ec74 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1153,26 +1153,24 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame } gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); - if (app->field->is_em) { - const char *fmt = "%s-apar_%d.gkyl"; - int sz = gkyl_calc_strlen(fmt, app->name, frame); - char fileNm[sz+1]; // ensures no buffer overflow - snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); - if (app->use_gpu) { - gkyl_array_copy(app->field->apar_host, app->field->apar); - } - gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm); + if (app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL) { + const char *fmt = "%s-apar_%d.gkyl"; + int sz = gkyl_calc_strlen(fmt, app->name, frame); + char fileNm[sz+1]; // ensures no buffer overflow + snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); + if (app->use_gpu) { + gkyl_array_copy(app->field->apar_host, app->field->apar); } - if (app->field->is_em) { - const char *fmt = "%s-apardot_%d.gkyl"; - int sz = gkyl_calc_strlen(fmt, app->name, frame); - char fileNm[sz+1]; // ensures no buffer overflow - snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); - if (app->use_gpu) { - gkyl_array_copy(app->field->apardot_host, app->field->apardot); - } - gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm); + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm); + + fmt = "%s-apardot_%d.gkyl"; + sz = gkyl_calc_strlen(fmt, app->name, frame); + snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); + if (app->use_gpu) { + gkyl_array_copy(app->field->apardot_host, app->field->apardot); } + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm); + } gk_array_meta_release(mt); @@ -1213,12 +1211,13 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) int rank; gkyl_comm_get_rank(app->comm, &rank); + bool write_em = app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; if (rank == 0) { if (app->field->is_first_energy_write_call) { // Write to a new file (this ensure previous output is removed). gkyl_dynvec_write(app->field->integ_energy, fileNm0); - if (app->field->is_em) + if (write_em) gkyl_dynvec_write(app->field->integ_apar_energy, fileNm0_apar); app->field->is_first_energy_write_call = false; @@ -1226,13 +1225,13 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) else { // Append to existing file. gkyl_dynvec_awrite(app->field->integ_energy, fileNm0); - if (app->field->is_em) + if (write_em) gkyl_dynvec_awrite(app->field->integ_apar_energy, fileNm0_apar); } app->stat.n_field_diag_io += 1; } gkyl_dynvec_clear(app->field->integ_energy); - if (app->field->is_em) + if (write_em) gkyl_dynvec_clear(app->field->integ_apar_energy); if (app->field->info.time_rate_diagnostics) { diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.h b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.h new file mode 100644 index 0000000000..e69de29bb2 diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c similarity index 97% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c index fe8446683c..12e52528d6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c index 81f0720ca2..e9c19092a9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c index e0e51c38ad..cc5236dc31 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c index ca88d98d0d..57d3645f56 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c index d238da4c5a..90a6185dbe 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c index 8b28a452a8..abb643af57 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c index 9525d51831..d481398725 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 62b3bbfb0f..74dab01d37 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c index 0d3cc97515..3fcfb15e9a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 61775349c6..b53afc39d6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c index ab2a44e03d..cfa071a002 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c similarity index 97% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index 9839938bde..86bf858c8b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index 59741c6716..9178775b0d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index 7c5f27f3a4..78f56ea7d7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index 4427f8496b..82f5835ad3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index b46843a5f3..828c96be5f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index fed15e4318..a1d2929177 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index 07abcbccac..22ca3cba66 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 3e0e9a58ee..fde3592231 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index 57462146c1..cae67f7f34 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index 669c837aa1..2a7d13cc5b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index 3d6a5ada15..061695ebcb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index ccae8140f5..d145fcb87e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index 661696e018..20b2a9a8c2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index 2cc78a65c5..f708659280 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c index 6184d536a3..92c1484678 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c index a2da499294..236d9d116b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c index 4ca93d910c..8a8c643afc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c index 43d4ce97f4..d780f7c162 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c index 403e5afe85..3897256920 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 55a1af88c1..ed70213a63 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index a71b45ec40..a8379b1fee 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index a9079ef2ed..fd55d64a51 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 6646198205..012b22e263 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 6284a429d7..34e8b51d8b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 944529819a..43866b33a1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c index b45acf2030..5398b50f5a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 1be9740d4c..8a9f94a5f3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c index b2df2b4cc8..5441d7d138 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 9ccf675e30..3c063d47f0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c similarity index 94% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index e600c37586..8e77c3005b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -69,7 +69,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -79,7 +78,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -101,7 +99,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -111,7 +108,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -133,7 +129,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -143,7 +138,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -165,7 +159,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -175,7 +168,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])/q_; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c similarity index 96% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 4b11599eab..8a4d7783c3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -74,7 +74,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -84,7 +83,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -106,7 +104,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -116,7 +113,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -138,7 +134,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -148,7 +143,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -170,7 +164,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -180,7 +173,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -202,7 +194,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[4].g_33; mag_e_3 = gkdgv[4].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -212,7 +203,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -234,7 +224,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[5].g_33; mag_e_3 = gkdgv[5].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -244,7 +233,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -266,7 +254,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[6].g_33; mag_e_3 = gkdgv[6].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -276,7 +263,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -298,7 +284,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[7].g_33; mag_e_3 = gkdgv[7].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -308,7 +293,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c index c6fa855f0b..2a75acf281 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c index 8e0df1984a..01f69a0ccf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c index a602b33749..3f3ae1c87f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c index 8907a70957..5e9589a976 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c index a7d42b1e38..f42556cfd1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c similarity index 94% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c index 2aec3997b1..d1d59d4fdb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -62,7 +62,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1])/q_; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; @@ -85,7 +84,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1])/q_; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c similarity index 94% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c index 3701b42301..806566190d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -64,7 +64,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; @@ -75,7 +74,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; @@ -98,7 +96,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; @@ -109,7 +106,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1])/q_; alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c index 9103273342..b6076faf53 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c index fdda705971..9a79ad5431 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -74,7 +74,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -90,7 +89,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -118,7 +116,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -134,7 +131,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -162,7 +158,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -178,7 +173,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -206,7 +200,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -222,7 +215,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -250,7 +242,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[4].g_33; mag_e_3 = gkdgv[4].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -266,7 +257,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -294,7 +284,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[5].g_33; mag_e_3 = gkdgv[5].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -310,7 +299,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -338,7 +326,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[6].g_33; mag_e_3 = gkdgv[6].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -354,7 +341,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -382,7 +368,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( g_33 = gkdgv[7].g_33; mag_e_3 = gkdgv[7].mag_e_3; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; @@ -398,7 +383,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - mvpar_over_q = ((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])/q_; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x1v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x1v_ser_p1.c index 8351564ace..9529bc93d9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x2v_ser_p1.c index afb03ca1e1..5a925e02bf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_2x2v_ser_p1.c index 5e8c3cbef7..cf64cd51ba 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_3x2v_ser_p1.c index da41a35c4e..fd7dc2c76a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_2x2v_ser_p1.c index 4a910b6a1b..b93ef24d68 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_3x2v_ser_p1.c index c36a81b5de..19536db253 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfz_3x2v_ser_p1.c index b803b6bfb4..d3b9aa1639 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..d7f1f29371 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -0,0 +1,97 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..fa28b49982 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -0,0 +1,125 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..75e84d9c3b --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..8dc4411306 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..e215d93f53 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..f652909b64 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,325 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..dbd8a403b4 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..5785598e11 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -0,0 +1,99 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double JRatfR[3] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..06ca58eb62 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -0,0 +1,127 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double JRatfR[6] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..0f2d981a99 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..1b9321b513 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..60bcacccbf --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..b56c6ed521 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,351 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..c3754a76cb --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..7a83dfb7d7 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -0,0 +1,99 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double JRatfL[3] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..8c87e41043 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -0,0 +1,127 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double JRatfL[6] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..269ebb4f13 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..c22156e4a5 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..d904ffa7e2 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..b154574b8c --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -0,0 +1,351 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..b488afb742 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..06e461b179 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..8b374aa03d --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..d7829367ba --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..c7a64c66af --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,325 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..93fa848cf7 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..6285424c1e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..24221faffb --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..1c708dfcfc --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..78f9967ed0 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,351 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..2a4e2a1571 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..155776e47f --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..4ce5e84e81 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..075d642123 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -0,0 +1,206 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..534e2bf9e2 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -0,0 +1,351 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..1354d3cf3b --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -0,0 +1,349 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..ea348fddf8 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,185 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; + hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..3ec5aaba66 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,310 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_; + hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[4] = 2.0*vmapSq[1]*m_; + hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[6] = 2.0*phi[4]*q_; + hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; + hamil[8] = 2.0*phi[6]*q_; + hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 2.0*phi[7]*q_; + hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; + hamil[32] = 2.0*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[72]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[4].bmag; + B3_quad = gkdgv[4].B3; + Jc_quad = dgv[4].Jc; + dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[4].g_13; + g_23 = gkdgv[4].g_23; + g_33 = gkdgv[4].g_33; + mag_e_3 = gkdgv[4].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[5].bmag; + B3_quad = gkdgv[5].B3; + Jc_quad = dgv[5].Jc; + dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[5].g_13; + g_23 = gkdgv[5].g_23; + g_33 = gkdgv[5].g_33; + mag_e_3 = gkdgv[5].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[6].bmag; + B3_quad = gkdgv[6].B3; + Jc_quad = dgv[6].Jc; + dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[6].g_13; + g_23 = gkdgv[6].g_23; + g_33 = gkdgv[6].g_33; + mag_e_3 = gkdgv[6].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[7].bmag; + B3_quad = gkdgv[7].B3; + Jc_quad = dgv[7].Jc; + dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[7].g_13; + g_23 = gkdgv[7].g_23; + g_33 = gkdgv[7].g_33; + mag_e_3 = gkdgv[7].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..46a7a88a7f --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..4b9a8bb519 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..ded8d71bd9 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..a41d62efb5 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -0,0 +1,325 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..c53c21ad48 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c new file mode 100644 index 0000000000..b90e4c516e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -0,0 +1,100 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; + hamil[1] = 1.4142135623730951*phi[1]*q_; + hamil[2] = 0.7071067811865475*vmapSq[1]*m_; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[3]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(1.1180339887498951*JfR[5])+1.118033988749895*JfR[4]+0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]-0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; + JfR_quad = (1.1180339887498951*JfR[5]+1.118033988749895*JfR[4]-0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]+0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c new file mode 100644 index 0000000000..514289668e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -0,0 +1,120 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = vmapSq[1]*m_; + hamil[3] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[6]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.7905694150420947*JfR[11]-0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.7905694150420947*JfR[11])+0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.7905694150420947*JfR[11])-0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.7905694150420947*JfR[11]+0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..30fcac6cbb --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,185 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; + hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..c73cce228a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,310 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_; + hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[4] = 2.0*vmapSq[1]*m_; + hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[6] = 2.0*phi[4]*q_; + hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; + hamil[8] = 2.0*phi[6]*q_; + hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 2.0*phi[7]*q_; + hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; + hamil[32] = 2.0*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[72]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[4].bmag; + B3_quad = gkdgv[4].B3; + Jc_quad = dgv[4].Jc; + dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[4].g_13; + g_23 = gkdgv[4].g_23; + g_33 = gkdgv[4].g_33; + mag_e_3 = gkdgv[4].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[5].bmag; + B3_quad = gkdgv[5].B3; + Jc_quad = dgv[5].Jc; + dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[5].g_13; + g_23 = gkdgv[5].g_23; + g_33 = gkdgv[5].g_33; + mag_e_3 = gkdgv[5].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[6].bmag; + B3_quad = gkdgv[6].B3; + Jc_quad = dgv[6].Jc; + dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[6].g_13; + g_23 = gkdgv[6].g_23; + g_33 = gkdgv[6].g_33; + mag_e_3 = gkdgv[6].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[7].bmag; + B3_quad = gkdgv[7].B3; + Jc_quad = dgv[7].Jc; + dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[7].g_13; + g_23 = gkdgv[7].g_23; + g_33 = gkdgv[7].g_33; + mag_e_3 = gkdgv[7].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..8852610f72 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x1v_ser_p1.c @@ -0,0 +1,97 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..afd77e6998 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x2v_ser_p1.c @@ -0,0 +1,125 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..5603465778 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..35b0e14ae6 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..dc2ab8c70a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_2x2v_ser_p1.c @@ -0,0 +1,192 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..f2d015a6b2 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_3x2v_ser_p1.c @@ -0,0 +1,325 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..6f2c48ea9f --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfz_3x2v_ser_p1.c @@ -0,0 +1,323 @@ +#include +GKYL_CU_DH double gk_es_collisionless_flux_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index 8719415313..e85e84282d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -7,438 +7,1326 @@ EXTERN_C_BEG -GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_es_collisionless_flux_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); + +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p2( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -446,7 +1334,14 @@ GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p2( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -454,7 +1349,14 @@ GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -462,7 +1364,7 @@ GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -479,11 +1381,11 @@ GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_return_zero( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); EXTERN_C_END diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index cf41588173..5b0e93295b 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -56,26 +56,27 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, } up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); } else { + int em = (type == GKYL_GK_COLLISIONLESS_EM || type == GKYL_GK_COLLISIONLESS_EM_BPERP) ? 1 : 0; if (type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); } else { // The Apar term is included in the kernels. If we are ES, Apar=0. for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); } } diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index bc22bd4399..b00c8183f2 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -36,7 +36,10 @@ static struct { int vdim[3]; } cv_index[] = { // for use in kernel tables typedef struct { gk_collisionless_flux_surf_t kernels[3]; } gkyl_gk_collisionless_flux_surf_kern_list; +typedef struct { gkyl_gk_collisionless_flux_surf_kern_list kernels_list[4]; } gkyl_gk_collisionless_flux_surf_kern_table; + typedef struct { gk_collisionless_flux_surfvpar_t kernels[3]; } gkyl_gk_collisionless_flux_surfvpar_kern_list; +typedef struct { gkyl_gk_collisionless_flux_surfvpar_kern_list kernels_list[4]; } gkyl_gk_collisionless_flux_surfvpar_kern_table; struct gkyl_gk_collisionless_flux { struct gkyl_rect_grid phase_grid; // Phase space grid for cell spacing and cell center @@ -65,123 +68,278 @@ struct gkyl_gk_collisionless_flux { // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_surfx_kernels[] = { - { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfx_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfx_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_surfvpar_kernels[] = { - { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_surfvpar_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 + }, + } }; - // // Kernels used at multiblock boundaries. // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_surfx_kernels[] = { - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfx_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[] = { + { + .kernels_list= { + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list= { + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; @@ -190,146 +348,301 @@ static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_surfx_kernels[] = { - { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfx_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfx_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_no_by_surfvpar_kernels[] = { - { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_no_by_surfvpar_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 + }, + } }; - // // Kernels used at multiblock boundaries. // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[] = { - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[] = { - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[] = { + { + .kernels_list = { + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; // Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[] = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[] = { + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + } }; GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -337,25 +650,25 @@ choose_gk_collisionless_flux_surf_conf_kern(int dir, int cdim, int vdim, int pol GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_edge_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -363,32 +676,32 @@ choose_gk_collisionless_flux_edge_surf_conf_kern(int dir, int cdim, int vdim, in GKYL_CU_D static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_surf_vpar_kern(int cdim, int vdim, int poly_order) +choose_gk_collisionless_flux_surf_vpar_kern(int em, int cdim, int vdim, int poly_order) { - return ser_gk_collisionless_flux_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfvpar_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_no_by_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_no_by_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_no_by_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -396,25 +709,25 @@ choose_gk_collisionless_flux_no_by_surf_conf_kern(int dir, int cdim, int vdim, i GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_no_by_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -422,9 +735,9 @@ choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int dir, int cdim, int vd GKYL_CU_D static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_order) +choose_gk_collisionless_flux_no_by_surf_vpar_kern(int em, int cdim, int vdim, int poly_order) { - return ser_gk_collisionless_flux_no_by_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfvpar_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } @@ -433,10 +746,10 @@ choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_o // Parallel electric field term. GKYL_CU_D static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_add_apardot_surfvpar_kernels[] = { - { NULL, gk_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1, NULL }, // 3 }; GKYL_CU_D diff --git a/machines/configure.macos.sh b/machines/configure.macos.sh index 5f5158a7a2..32baebfe92 100755 --- a/machines/configure.macos.sh +++ b/machines/configure.macos.sh @@ -1,2 +1,2 @@ -: "${PREFIX:=$HOME/gkylsoft}" +: "${PREFIX:=$HOME/gkeyll_dev/gkylsoft}" ./configure --prefix=$PREFIX --use-lua=yes diff --git a/machines/mkdeps.macos.sh b/machines/mkdeps.macos.sh index 948f370d7a..d026ea1798 100755 --- a/machines/mkdeps.macos.sh +++ b/machines/mkdeps.macos.sh @@ -1,4 +1,4 @@ cd install-deps -: "${PREFIX:=$HOME/gkylsoft}" +: "${PREFIX:=$HOME/gkeyll_dev/gkylsoft}" export MACOSX_DEPLOYMENT_TARGET=14.7 ./mkdeps.sh --build-openblas=no --build-superlu=yes --build-luajit=yes --prefix=$PREFIX From bc0b6d6b815bbd0f708c8cdaae310471fd11307f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 6 Nov 2025 14:44:46 -0500 Subject: [PATCH 037/181] restore the config and mkdeps --- machines/configure.macos.sh | 2 +- machines/mkdeps.macos.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/machines/configure.macos.sh b/machines/configure.macos.sh index 32baebfe92..5f5158a7a2 100755 --- a/machines/configure.macos.sh +++ b/machines/configure.macos.sh @@ -1,2 +1,2 @@ -: "${PREFIX:=$HOME/gkeyll_dev/gkylsoft}" +: "${PREFIX:=$HOME/gkylsoft}" ./configure --prefix=$PREFIX --use-lua=yes diff --git a/machines/mkdeps.macos.sh b/machines/mkdeps.macos.sh index d026ea1798..948f370d7a 100755 --- a/machines/mkdeps.macos.sh +++ b/machines/mkdeps.macos.sh @@ -1,4 +1,4 @@ cd install-deps -: "${PREFIX:=$HOME/gkeyll_dev/gkylsoft}" +: "${PREFIX:=$HOME/gkylsoft}" export MACOSX_DEPLOYMENT_TARGET=14.7 ./mkdeps.sh --build-openblas=no --build-superlu=yes --build-luajit=yes --prefix=$PREFIX From 7eb79c3fcf239987f86abfe3e96fd2fa277ee082 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 7 Nov 2025 10:22:16 -0500 Subject: [PATCH 038/181] Clean a bit the interface with return 0 kernels --- gyrokinetic/zero/dg_gyrokinetic.c | 6 +--- gyrokinetic/zero/gk_collisionless_flux.c | 6 ++-- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 29 ++++++++++++++++++- .../zero/gkyl_gk_collisionless_flux_priv.h | 7 ----- 4 files changed, 32 insertions(+), 16 deletions(-) diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 5f45cec8b5..9eaa0b9903 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -51,10 +51,6 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { - // gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, - // const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - // const double charge, const double mass, double skip_cell_threshold, enum gkyl_gk_collisionless_type collless_type, - // const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_dg_gyrokinetic_cu_dev_new(cbasis, pbasis, conf_range, phase_range, @@ -127,7 +123,7 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis } gyrokinetic->vol_add_apar_term = collless_type == GKYL_GK_COLLISIONLESS_EM || GKYL_GK_COLLISIONLESS_EM_BPERP ? - CK(vol_add_apar_kernels,cdim,vdim,poly_order) : kernel_dg_gyrokinetic_vol_return_zero; + CK(vol_add_apar_kernels,cdim,vdim,poly_order) : dg_gyrokinetic_vol_return_zero; gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); if (cdim>1) diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 5b0e93295b..120323e373 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -50,9 +50,9 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, if (only_apardot){ // If we only add Apardot terms to the flux, the only non zero kernel is the vpar one. for (int d=0; dflux_surf[d] = get_gk_collisionless_flux_surf_zero_kern(); - up->flux_surf_edge_lo[d] = get_gk_collisionless_flux_surf_zero_kern(); - up->flux_surf_edge_up[d] = get_gk_collisionless_flux_surf_zero_kern(); + up->flux_surf[d] = gk_collisionless_flux_surf_return_zero; + up->flux_surf_edge_lo[d] = gk_collisionless_flux_surf_return_zero; + up->flux_surf_edge_up[d] = gk_collisionless_flux_surf_return_zero; } up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); } else { diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 4b65faa4c4..40f820463c 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -418,13 +418,40 @@ static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_apardot_vol_kernels[] = { // To turn off EM effects: #include -GKYL_CU_DH double kernel_dg_gyrokinetic_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, +GKYL_CU_DH double dg_gyrokinetic_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) { return 0.; } +GKYL_CU_DH +static double +kernel_dg_gyrokinetic_vol_return_zero(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, + const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) +{ + struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); + + if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { + return 0.; + } + + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; + + long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); + return dg_gyrokinetic_vol_return_zero(xc, dx, + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), + gyrokinetic->charge, gyrokinetic->mass, + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), + qIn, qRhsOut); +} // // Serendipity surface kernels general geometry diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index b00c8183f2..a8717a6062 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -752,13 +752,6 @@ static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_ { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1, NULL }, // 3 }; -GKYL_CU_D -static gk_collisionless_flux_surf_t -get_gk_collisionless_flux_surf_zero_kern() -{ - return gk_collisionless_flux_surf_return_zero; -} - GKYL_CU_D static gk_collisionless_flux_surfvpar_t choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(int cdim, int vdim, int poly_order) From 314530e87bd3fbf56269dedd76da63132c756023 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 7 Nov 2025 11:24:29 -0500 Subject: [PATCH 039/181] fix an error were apardot was expanded on bP and not bC --- ..._gyrokinetic_add_apardot_vol_1x1v_ser_p1.c | 16 +-- ..._gyrokinetic_add_apardot_vol_1x2v_ser_p1.c | 30 ++--- ..._gyrokinetic_add_apardot_vol_2x2v_ser_p1.c | 60 +++------ ..._gyrokinetic_add_apardot_vol_3x2v_ser_p1.c | 120 ++++++------------ 4 files changed, 76 insertions(+), 150 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c index 9c26ddd0c7..3bb8a2ec69 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c @@ -8,18 +8,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double q_, co // out: output increment. double alphavpar[6] = {0.}; - alphavpar[0] = -((1.0*apardot[0]*q_)/m_); - alphavpar[1] = -((1.0*apardot[1]*q_)/m_); - alphavpar[2] = -((1.0*apardot[2]*q_)/m_); - alphavpar[3] = -((1.0*apardot[3]*q_)/m_); - alphavpar[4] = -((1.0*apardot[4]*q_)/m_); - alphavpar[5] = -((1.0*apardot[5]*q_)/m_); + alphavpar[0] = -((1.4142135623730951*apardot[0]*q_)/m_); + alphavpar[1] = -((1.4142135623730951*apardot[1]*q_)/m_); - out[2] += 0.8660254037844386*(alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); - out[3] += 0.8660254037844387*(alphavpar[4]*fin[5]+fin[4]*alphavpar[5])+0.8660254037844386*(alphavpar[2]*fin[3]+fin[2]*alphavpar[3]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); - out[4] += 1.7320508075688774*(alphavpar[3]*fin[5]+fin[3]*alphavpar[5])+1.7320508075688772*(alphavpar[2]*fin[4]+fin[2]*alphavpar[4])+1.9364916731037085*(alphavpar[1]*fin[3]+fin[1]*alphavpar[3]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); - out[5] += 1.7320508075688772*(alphavpar[2]*fin[5]+fin[2]*alphavpar[5])+1.7320508075688774*(alphavpar[3]*fin[4]+fin[3]*alphavpar[4])+1.9364916731037085*(alphavpar[0]*fin[3]+fin[0]*alphavpar[3]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[2] += 0.8660254037844386*(alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[3] += 0.8660254037844386*(alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[4] += 1.9364916731037085*(alphavpar[1]*fin[3]+alphavpar[0]*fin[2]); + out[5] += 1.9364916731037085*(alphavpar[0]*fin[3]+alphavpar[1]*fin[2]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c index 500c925030..7185f94cc0 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c @@ -8,28 +8,18 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double q_, co // out: output increment. double alphavpar[12] = {0.}; - alphavpar[0] = -((1.0*apardot[0]*q_)/m_); - alphavpar[1] = -((1.0*apardot[1]*q_)/m_); - alphavpar[2] = -((1.0*apardot[2]*q_)/m_); - alphavpar[3] = -((1.0*apardot[3]*q_)/m_); - alphavpar[4] = -((1.0*apardot[4]*q_)/m_); - alphavpar[5] = -((1.0*apardot[5]*q_)/m_); - alphavpar[6] = -((1.0*apardot[6]*q_)/m_); - alphavpar[7] = -((1.0*apardot[7]*q_)/m_); - alphavpar[8] = -((1.0*apardot[8]*q_)/m_); - alphavpar[9] = -((1.0*apardot[9]*q_)/m_); - alphavpar[10] = -((1.0*apardot[10]*q_)/m_); - alphavpar[11] = -((1.0*apardot[11]*q_)/m_); + alphavpar[0] = -((2.0*apardot[0]*q_)/m_); + alphavpar[1] = -((2.0*apardot[1]*q_)/m_); - out[2] += 0.6123724356957944*(alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); - out[4] += 0.6123724356957944*(alphavpar[10]*fin[11]+fin[10]*alphavpar[11]+alphavpar[8]*fin[9]+fin[8]*alphavpar[9]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[3]*fin[5]+fin[3]*alphavpar[5]+alphavpar[2]*fin[4]+fin[2]*alphavpar[4]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); - out[6] += 0.6123724356957944*(alphavpar[9]*fin[11]+fin[9]*alphavpar[11]+alphavpar[8]*fin[10]+fin[8]*alphavpar[10]+alphavpar[4]*fin[7]+fin[4]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); - out[7] += 0.6123724356957944*(alphavpar[8]*fin[11]+fin[8]*alphavpar[11]+alphavpar[9]*fin[10]+fin[9]*alphavpar[10]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[4]*fin[6]+fin[4]*alphavpar[6]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); - out[8] += 1.224744871391589*(alphavpar[7]*fin[11]+fin[7]*alphavpar[11]+alphavpar[6]*fin[10]+fin[6]*alphavpar[10]+alphavpar[4]*fin[9]+fin[4]*alphavpar[9]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8])+1.369306393762915*(alphavpar[5]*fin[7]+fin[5]*alphavpar[7]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]+alphavpar[1]*fin[4]+fin[1]*alphavpar[4]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); - out[9] += 1.224744871391589*(alphavpar[6]*fin[11]+fin[6]*alphavpar[11]+alphavpar[7]*fin[10]+fin[7]*alphavpar[10]+alphavpar[2]*fin[9]+fin[2]*alphavpar[9]+alphavpar[4]*fin[8]+fin[4]*alphavpar[8])+1.369306393762915*(alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[5]*fin[6]+fin[5]*alphavpar[6]+alphavpar[0]*fin[4]+fin[0]*alphavpar[4]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); - out[10] += 1.224744871391589*(alphavpar[4]*fin[11]+fin[4]*alphavpar[11]+alphavpar[2]*fin[10]+fin[2]*alphavpar[10]+alphavpar[7]*fin[9]+fin[7]*alphavpar[9]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8])+1.369306393762915*(alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[4]*fin[5]+fin[4]*alphavpar[5]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); - out[11] += 1.224744871391589*(alphavpar[2]*fin[11]+fin[2]*alphavpar[11]+alphavpar[4]*fin[10]+fin[4]*alphavpar[10]+alphavpar[6]*fin[9]+fin[6]*alphavpar[9]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8])+1.369306393762915*(alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]+alphavpar[3]*fin[4]+fin[3]*alphavpar[4]); + out[2] += 0.6123724356957944*(alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[4] += 0.6123724356957944*(alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[6] += 0.6123724356957944*(alphavpar[1]*fin[5]+alphavpar[0]*fin[3]); + out[7] += 0.6123724356957944*(alphavpar[0]*fin[5]+alphavpar[1]*fin[3]); + out[8] += 1.369306393762915*(alphavpar[1]*fin[4]+alphavpar[0]*fin[2]); + out[9] += 1.369306393762915*(alphavpar[0]*fin[4]+alphavpar[1]*fin[2]); + out[10] += 1.369306393762915*(alphavpar[1]*fin[7]+alphavpar[0]*fin[6]); + out[11] += 1.369306393762915*(alphavpar[0]*fin[7]+alphavpar[1]*fin[6]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c index 856faccde1..03e7f95feb 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c @@ -8,48 +8,28 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double q_, co // out: output increment. double alphavpar[24] = {0.}; - alphavpar[0] = -((1.0*apardot[0]*q_)/m_); - alphavpar[1] = -((1.0*apardot[1]*q_)/m_); - alphavpar[2] = -((1.0*apardot[2]*q_)/m_); - alphavpar[3] = -((1.0*apardot[3]*q_)/m_); - alphavpar[4] = -((1.0*apardot[4]*q_)/m_); - alphavpar[5] = -((1.0*apardot[5]*q_)/m_); - alphavpar[6] = -((1.0*apardot[6]*q_)/m_); - alphavpar[7] = -((1.0*apardot[7]*q_)/m_); - alphavpar[8] = -((1.0*apardot[8]*q_)/m_); - alphavpar[9] = -((1.0*apardot[9]*q_)/m_); - alphavpar[10] = -((1.0*apardot[10]*q_)/m_); - alphavpar[11] = -((1.0*apardot[11]*q_)/m_); - alphavpar[12] = -((1.0*apardot[12]*q_)/m_); - alphavpar[13] = -((1.0*apardot[13]*q_)/m_); - alphavpar[14] = -((1.0*apardot[14]*q_)/m_); - alphavpar[15] = -((1.0*apardot[15]*q_)/m_); - alphavpar[16] = -((1.0*apardot[16]*q_)/m_); - alphavpar[17] = -((1.0*apardot[17]*q_)/m_); - alphavpar[18] = -((1.0*apardot[18]*q_)/m_); - alphavpar[19] = -((1.0*apardot[19]*q_)/m_); - alphavpar[20] = -((1.0*apardot[20]*q_)/m_); - alphavpar[21] = -((1.0*apardot[21]*q_)/m_); - alphavpar[22] = -((1.0*apardot[22]*q_)/m_); - alphavpar[23] = -((1.0*apardot[23]*q_)/m_); + alphavpar[0] = -((2.0*apardot[0]*q_)/m_); + alphavpar[1] = -((2.0*apardot[1]*q_)/m_); + alphavpar[2] = -((2.0*apardot[2]*q_)/m_); + alphavpar[5] = -((2.0*apardot[3]*q_)/m_); - out[3] += 0.4330127018922193*(alphavpar[23]*fin[23]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[19]*fin[19]+alphavpar[18]*fin[18]+alphavpar[17]*fin[17]+alphavpar[16]*fin[16]+alphavpar[15]*fin[15]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); - out[6] += 0.43301270189221935*(alphavpar[22]*fin[23]+fin[22]*alphavpar[23]+alphavpar[19]*fin[21]+fin[19]*alphavpar[21]+alphavpar[18]*fin[20]+fin[18]*alphavpar[20]+alphavpar[16]*fin[17]+fin[16]*alphavpar[17])+0.4330127018922193*(alphavpar[14]*fin[15]+fin[14]*alphavpar[15]+alphavpar[10]*fin[13]+fin[10]*alphavpar[13]+alphavpar[9]*fin[12]+fin[9]*alphavpar[12]+alphavpar[7]*fin[11]+fin[7]*alphavpar[11]+alphavpar[4]*fin[8]+fin[4]*alphavpar[8]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); - out[7] += 0.43301270189221935*(alphavpar[21]*fin[23]+fin[21]*alphavpar[23]+alphavpar[19]*fin[22]+fin[19]*alphavpar[22]+alphavpar[17]*fin[20]+fin[17]*alphavpar[20]+alphavpar[16]*fin[18]+fin[16]*alphavpar[18])+0.4330127018922193*(alphavpar[13]*fin[15]+fin[13]*alphavpar[15]+alphavpar[10]*fin[14]+fin[10]*alphavpar[14]+alphavpar[8]*fin[12]+fin[8]*alphavpar[12]+alphavpar[6]*fin[11]+fin[6]*alphavpar[11]+alphavpar[4]*fin[9]+fin[4]*alphavpar[9]+alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); - out[10] += 0.43301270189221935*(alphavpar[20]*fin[23]+fin[20]*alphavpar[23]+alphavpar[18]*fin[22]+fin[18]*alphavpar[22]+alphavpar[17]*fin[21]+fin[17]*alphavpar[21]+alphavpar[16]*fin[19]+fin[16]*alphavpar[19])+0.4330127018922193*(alphavpar[11]*fin[15]+fin[11]*alphavpar[15]+alphavpar[7]*fin[14]+fin[7]*alphavpar[14]+alphavpar[6]*fin[13]+fin[6]*alphavpar[13]+alphavpar[5]*fin[12]+fin[5]*alphavpar[12]+alphavpar[3]*fin[10]+fin[3]*alphavpar[10]+alphavpar[2]*fin[9]+fin[2]*alphavpar[9]+alphavpar[1]*fin[8]+fin[1]*alphavpar[8]+alphavpar[0]*fin[4]+fin[0]*alphavpar[4]); - out[11] += 0.4330127018922193*(alphavpar[19]*fin[23]+fin[19]*alphavpar[23]+alphavpar[21]*fin[22]+fin[21]*alphavpar[22]+alphavpar[16]*fin[20]+fin[16]*alphavpar[20]+alphavpar[17]*fin[18]+fin[17]*alphavpar[18]+alphavpar[10]*fin[15]+fin[10]*alphavpar[15]+alphavpar[13]*fin[14]+fin[13]*alphavpar[14]+alphavpar[4]*fin[12]+fin[4]*alphavpar[12]+alphavpar[3]*fin[11]+fin[3]*alphavpar[11]+alphavpar[8]*fin[9]+fin[8]*alphavpar[9]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); - out[13] += 0.4330127018922193*(alphavpar[18]*fin[23]+fin[18]*alphavpar[23]+alphavpar[20]*fin[22]+fin[20]*alphavpar[22]+alphavpar[16]*fin[21]+fin[16]*alphavpar[21]+alphavpar[17]*fin[19]+fin[17]*alphavpar[19]+alphavpar[7]*fin[15]+fin[7]*alphavpar[15]+alphavpar[11]*fin[14]+fin[11]*alphavpar[14]+alphavpar[3]*fin[13]+fin[3]*alphavpar[13]+alphavpar[2]*fin[12]+fin[2]*alphavpar[12]+alphavpar[6]*fin[10]+fin[6]*alphavpar[10]+alphavpar[5]*fin[9]+fin[5]*alphavpar[9]+alphavpar[0]*fin[8]+fin[0]*alphavpar[8]+alphavpar[1]*fin[4]+fin[1]*alphavpar[4]); - out[14] += 0.4330127018922193*(alphavpar[17]*fin[23]+fin[17]*alphavpar[23]+alphavpar[16]*fin[22]+fin[16]*alphavpar[22]+alphavpar[20]*fin[21]+fin[20]*alphavpar[21]+alphavpar[18]*fin[19]+fin[18]*alphavpar[19]+alphavpar[6]*fin[15]+fin[6]*alphavpar[15]+alphavpar[3]*fin[14]+fin[3]*alphavpar[14]+alphavpar[11]*fin[13]+fin[11]*alphavpar[13]+alphavpar[1]*fin[12]+fin[1]*alphavpar[12]+alphavpar[7]*fin[10]+fin[7]*alphavpar[10]+alphavpar[0]*fin[9]+fin[0]*alphavpar[9]+alphavpar[5]*fin[8]+fin[5]*alphavpar[8]+alphavpar[2]*fin[4]+fin[2]*alphavpar[4]); - out[15] += 0.43301270189221935*(alphavpar[16]*fin[23]+fin[16]*alphavpar[23]+alphavpar[17]*fin[22]+fin[17]*alphavpar[22]+alphavpar[18]*fin[21]+fin[18]*alphavpar[21]+alphavpar[19]*fin[20]+fin[19]*alphavpar[20])+0.4330127018922193*(alphavpar[3]*fin[15]+fin[3]*alphavpar[15]+alphavpar[6]*fin[14]+fin[6]*alphavpar[14]+alphavpar[7]*fin[13]+fin[7]*alphavpar[13]+alphavpar[0]*fin[12]+fin[0]*alphavpar[12]+alphavpar[10]*fin[11]+fin[10]*alphavpar[11]+alphavpar[1]*fin[9]+fin[1]*alphavpar[9]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8]+alphavpar[4]*fin[5]+fin[4]*alphavpar[5]); - out[16] += 0.8660254037844387*(alphavpar[15]*fin[23]+fin[15]*alphavpar[23])+0.8660254037844386*(alphavpar[14]*fin[22]+fin[14]*alphavpar[22]+alphavpar[13]*fin[21]+fin[13]*alphavpar[21]+alphavpar[11]*fin[20]+fin[11]*alphavpar[20])+0.8660254037844387*(alphavpar[10]*fin[19]+fin[10]*alphavpar[19]+alphavpar[7]*fin[18]+fin[7]*alphavpar[18]+alphavpar[6]*fin[17]+fin[6]*alphavpar[17])+0.8660254037844386*(alphavpar[3]*fin[16]+fin[3]*alphavpar[16])+0.9682458365518543*(alphavpar[12]*fin[15]+fin[12]*alphavpar[15]+alphavpar[9]*fin[14]+fin[9]*alphavpar[14]+alphavpar[8]*fin[13]+fin[8]*alphavpar[13]+alphavpar[5]*fin[11]+fin[5]*alphavpar[11]+alphavpar[4]*fin[10]+fin[4]*alphavpar[10]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); - out[17] += 0.8660254037844386*(alphavpar[14]*fin[23]+fin[14]*alphavpar[23])+0.8660254037844387*(alphavpar[15]*fin[22]+fin[15]*alphavpar[22]+alphavpar[10]*fin[21]+fin[10]*alphavpar[21]+alphavpar[7]*fin[20]+fin[7]*alphavpar[20])+0.8660254037844386*(alphavpar[13]*fin[19]+fin[13]*alphavpar[19]+alphavpar[11]*fin[18]+fin[11]*alphavpar[18]+alphavpar[3]*fin[17]+fin[3]*alphavpar[17])+0.8660254037844387*(alphavpar[6]*fin[16]+fin[6]*alphavpar[16])+0.9682458365518543*(alphavpar[9]*fin[15]+fin[9]*alphavpar[15]+alphavpar[12]*fin[14]+fin[12]*alphavpar[14]+alphavpar[4]*fin[13]+fin[4]*alphavpar[13]+alphavpar[2]*fin[11]+fin[2]*alphavpar[11]+alphavpar[8]*fin[10]+fin[8]*alphavpar[10]+alphavpar[5]*fin[7]+fin[5]*alphavpar[7]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); - out[18] += 0.8660254037844386*(alphavpar[13]*fin[23]+fin[13]*alphavpar[23])+0.8660254037844387*(alphavpar[10]*fin[22]+fin[10]*alphavpar[22]+alphavpar[15]*fin[21]+fin[15]*alphavpar[21]+alphavpar[6]*fin[20]+fin[6]*alphavpar[20])+0.8660254037844386*(alphavpar[14]*fin[19]+fin[14]*alphavpar[19]+alphavpar[3]*fin[18]+fin[3]*alphavpar[18]+alphavpar[11]*fin[17]+fin[11]*alphavpar[17])+0.8660254037844387*(alphavpar[7]*fin[16]+fin[7]*alphavpar[16])+0.9682458365518543*(alphavpar[8]*fin[15]+fin[8]*alphavpar[15]+alphavpar[4]*fin[14]+fin[4]*alphavpar[14]+alphavpar[12]*fin[13]+fin[12]*alphavpar[13]+alphavpar[1]*fin[11]+fin[1]*alphavpar[11]+alphavpar[9]*fin[10]+fin[9]*alphavpar[10]+alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[5]*fin[6]+fin[5]*alphavpar[6]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); - out[19] += 0.8660254037844386*(alphavpar[11]*fin[23]+fin[11]*alphavpar[23])+0.8660254037844387*(alphavpar[7]*fin[22]+fin[7]*alphavpar[22]+alphavpar[6]*fin[21]+fin[6]*alphavpar[21]+alphavpar[15]*fin[20]+fin[15]*alphavpar[20])+0.8660254037844386*(alphavpar[3]*fin[19]+fin[3]*alphavpar[19]+alphavpar[14]*fin[18]+fin[14]*alphavpar[18]+alphavpar[13]*fin[17]+fin[13]*alphavpar[17])+0.8660254037844387*(alphavpar[10]*fin[16]+fin[10]*alphavpar[16])+0.9682458365518543*(alphavpar[5]*fin[15]+fin[5]*alphavpar[15]+alphavpar[2]*fin[14]+fin[2]*alphavpar[14]+alphavpar[1]*fin[13]+fin[1]*alphavpar[13]+alphavpar[11]*fin[12]+fin[11]*alphavpar[12]+alphavpar[0]*fin[10]+fin[0]*alphavpar[10]+alphavpar[7]*fin[9]+fin[7]*alphavpar[9]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8]+alphavpar[3]*fin[4]+fin[3]*alphavpar[4]); - out[20] += 0.8660254037844387*(alphavpar[10]*fin[23]+fin[10]*alphavpar[23])+0.8660254037844386*(alphavpar[13]*fin[22]+fin[13]*alphavpar[22]+alphavpar[14]*fin[21]+fin[14]*alphavpar[21]+alphavpar[3]*fin[20]+fin[3]*alphavpar[20])+0.8660254037844387*(alphavpar[15]*fin[19]+fin[15]*alphavpar[19]+alphavpar[6]*fin[18]+fin[6]*alphavpar[18]+alphavpar[7]*fin[17]+fin[7]*alphavpar[17])+0.8660254037844386*(alphavpar[11]*fin[16]+fin[11]*alphavpar[16])+0.9682458365518543*(alphavpar[4]*fin[15]+fin[4]*alphavpar[15]+alphavpar[8]*fin[14]+fin[8]*alphavpar[14]+alphavpar[9]*fin[13]+fin[9]*alphavpar[13]+alphavpar[10]*fin[12]+fin[10]*alphavpar[12]+alphavpar[0]*fin[11]+fin[0]*alphavpar[11]+alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[3]*fin[5]+fin[3]*alphavpar[5]); - out[21] += 0.8660254037844387*(alphavpar[7]*fin[23]+fin[7]*alphavpar[23])+0.8660254037844386*(alphavpar[11]*fin[22]+fin[11]*alphavpar[22]+alphavpar[3]*fin[21]+fin[3]*alphavpar[21]+alphavpar[14]*fin[20]+fin[14]*alphavpar[20])+0.8660254037844387*(alphavpar[6]*fin[19]+fin[6]*alphavpar[19]+alphavpar[15]*fin[18]+fin[15]*alphavpar[18]+alphavpar[10]*fin[17]+fin[10]*alphavpar[17])+0.8660254037844386*(alphavpar[13]*fin[16]+fin[13]*alphavpar[16])+0.9682458365518543*(alphavpar[2]*fin[15]+fin[2]*alphavpar[15]+alphavpar[5]*fin[14]+fin[5]*alphavpar[14]+alphavpar[0]*fin[13]+fin[0]*alphavpar[13]+alphavpar[7]*fin[12]+fin[7]*alphavpar[12]+alphavpar[9]*fin[11]+fin[9]*alphavpar[11]+alphavpar[1]*fin[10]+fin[1]*alphavpar[10]+alphavpar[3]*fin[8]+fin[3]*alphavpar[8]+alphavpar[4]*fin[6]+fin[4]*alphavpar[6]); - out[22] += 0.8660254037844387*(alphavpar[6]*fin[23]+fin[6]*alphavpar[23])+0.8660254037844386*(alphavpar[3]*fin[22]+fin[3]*alphavpar[22]+alphavpar[11]*fin[21]+fin[11]*alphavpar[21]+alphavpar[13]*fin[20]+fin[13]*alphavpar[20])+0.8660254037844387*(alphavpar[7]*fin[19]+fin[7]*alphavpar[19]+alphavpar[10]*fin[18]+fin[10]*alphavpar[18]+alphavpar[15]*fin[17]+fin[15]*alphavpar[17])+0.8660254037844386*(alphavpar[14]*fin[16]+fin[14]*alphavpar[16])+0.9682458365518543*(alphavpar[1]*fin[15]+fin[1]*alphavpar[15]+alphavpar[0]*fin[14]+fin[0]*alphavpar[14]+alphavpar[5]*fin[13]+fin[5]*alphavpar[13]+alphavpar[6]*fin[12]+fin[6]*alphavpar[12]+alphavpar[8]*fin[11]+fin[8]*alphavpar[11]+alphavpar[2]*fin[10]+fin[2]*alphavpar[10]+alphavpar[3]*fin[9]+fin[3]*alphavpar[9]+alphavpar[4]*fin[7]+fin[4]*alphavpar[7]); - out[23] += 0.8660254037844386*(alphavpar[3]*fin[23]+fin[3]*alphavpar[23])+0.8660254037844387*(alphavpar[6]*fin[22]+fin[6]*alphavpar[22]+alphavpar[7]*fin[21]+fin[7]*alphavpar[21]+alphavpar[10]*fin[20]+fin[10]*alphavpar[20])+0.8660254037844386*(alphavpar[11]*fin[19]+fin[11]*alphavpar[19]+alphavpar[13]*fin[18]+fin[13]*alphavpar[18]+alphavpar[14]*fin[17]+fin[14]*alphavpar[17])+0.8660254037844387*(alphavpar[15]*fin[16]+fin[15]*alphavpar[16])+0.9682458365518543*(alphavpar[0]*fin[15]+fin[0]*alphavpar[15]+alphavpar[1]*fin[14]+fin[1]*alphavpar[14]+alphavpar[2]*fin[13]+fin[2]*alphavpar[13]+alphavpar[3]*fin[12]+fin[3]*alphavpar[12]+alphavpar[4]*fin[11]+fin[4]*alphavpar[11]+alphavpar[5]*fin[10]+fin[5]*alphavpar[10]+alphavpar[6]*fin[9]+fin[6]*alphavpar[9]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8]); + out[3] += 0.4330127018922193*(alphavpar[5]*fin[5]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[6] += 0.4330127018922193*(alphavpar[2]*fin[5]+fin[2]*alphavpar[5]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[7] += 0.4330127018922193*(alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[10] += 0.4330127018922193*(alphavpar[5]*fin[12]+alphavpar[2]*fin[9]+alphavpar[1]*fin[8]+alphavpar[0]*fin[4]); + out[11] += 0.4330127018922193*(alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[13] += 0.4330127018922193*(alphavpar[2]*fin[12]+alphavpar[5]*fin[9]+alphavpar[0]*fin[8]+alphavpar[1]*fin[4]); + out[14] += 0.4330127018922193*(alphavpar[1]*fin[12]+alphavpar[0]*fin[9]+alphavpar[5]*fin[8]+alphavpar[2]*fin[4]); + out[15] += 0.4330127018922193*(alphavpar[0]*fin[12]+alphavpar[1]*fin[9]+alphavpar[2]*fin[8]+fin[4]*alphavpar[5]); + out[16] += 0.9682458365518543*(alphavpar[5]*fin[11]+alphavpar[2]*fin[7]+alphavpar[1]*fin[6]+alphavpar[0]*fin[3]); + out[17] += 0.9682458365518543*(alphavpar[2]*fin[11]+alphavpar[5]*fin[7]+alphavpar[0]*fin[6]+alphavpar[1]*fin[3]); + out[18] += 0.9682458365518543*(alphavpar[1]*fin[11]+alphavpar[0]*fin[7]+alphavpar[5]*fin[6]+alphavpar[2]*fin[3]); + out[19] += 0.9682458365518543*(alphavpar[5]*fin[15]+alphavpar[2]*fin[14]+alphavpar[1]*fin[13]+alphavpar[0]*fin[10]); + out[20] += 0.9682458365518543*(alphavpar[0]*fin[11]+alphavpar[1]*fin[7]+alphavpar[2]*fin[6]+fin[3]*alphavpar[5]); + out[21] += 0.9682458365518543*(alphavpar[2]*fin[15]+alphavpar[5]*fin[14]+alphavpar[0]*fin[13]+alphavpar[1]*fin[10]); + out[22] += 0.9682458365518543*(alphavpar[1]*fin[15]+alphavpar[0]*fin[14]+alphavpar[5]*fin[13]+alphavpar[2]*fin[10]); + out[23] += 0.9682458365518543*(alphavpar[0]*fin[15]+alphavpar[1]*fin[14]+alphavpar[2]*fin[13]+alphavpar[5]*fin[10]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c index 805c88b9b2..ba187efefa 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c @@ -8,88 +8,48 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double q_, co // out: output increment. double alphavpar[48] = {0.}; - alphavpar[0] = -((1.0*apardot[0]*q_)/m_); - alphavpar[1] = -((1.0*apardot[1]*q_)/m_); - alphavpar[2] = -((1.0*apardot[2]*q_)/m_); - alphavpar[3] = -((1.0*apardot[3]*q_)/m_); - alphavpar[4] = -((1.0*apardot[4]*q_)/m_); - alphavpar[5] = -((1.0*apardot[5]*q_)/m_); - alphavpar[6] = -((1.0*apardot[6]*q_)/m_); - alphavpar[7] = -((1.0*apardot[7]*q_)/m_); - alphavpar[8] = -((1.0*apardot[8]*q_)/m_); - alphavpar[9] = -((1.0*apardot[9]*q_)/m_); - alphavpar[10] = -((1.0*apardot[10]*q_)/m_); - alphavpar[11] = -((1.0*apardot[11]*q_)/m_); - alphavpar[12] = -((1.0*apardot[12]*q_)/m_); - alphavpar[13] = -((1.0*apardot[13]*q_)/m_); - alphavpar[14] = -((1.0*apardot[14]*q_)/m_); - alphavpar[15] = -((1.0*apardot[15]*q_)/m_); - alphavpar[16] = -((1.0*apardot[16]*q_)/m_); - alphavpar[17] = -((1.0*apardot[17]*q_)/m_); - alphavpar[18] = -((1.0*apardot[18]*q_)/m_); - alphavpar[19] = -((1.0*apardot[19]*q_)/m_); - alphavpar[20] = -((1.0*apardot[20]*q_)/m_); - alphavpar[21] = -((1.0*apardot[21]*q_)/m_); - alphavpar[22] = -((1.0*apardot[22]*q_)/m_); - alphavpar[23] = -((1.0*apardot[23]*q_)/m_); - alphavpar[24] = -((1.0*apardot[24]*q_)/m_); - alphavpar[25] = -((1.0*apardot[25]*q_)/m_); - alphavpar[26] = -((1.0*apardot[26]*q_)/m_); - alphavpar[27] = -((1.0*apardot[27]*q_)/m_); - alphavpar[28] = -((1.0*apardot[28]*q_)/m_); - alphavpar[29] = -((1.0*apardot[29]*q_)/m_); - alphavpar[30] = -((1.0*apardot[30]*q_)/m_); - alphavpar[31] = -((1.0*apardot[31]*q_)/m_); - alphavpar[32] = -((1.0*apardot[32]*q_)/m_); - alphavpar[33] = -((1.0*apardot[33]*q_)/m_); - alphavpar[34] = -((1.0*apardot[34]*q_)/m_); - alphavpar[35] = -((1.0*apardot[35]*q_)/m_); - alphavpar[36] = -((1.0*apardot[36]*q_)/m_); - alphavpar[37] = -((1.0*apardot[37]*q_)/m_); - alphavpar[38] = -((1.0*apardot[38]*q_)/m_); - alphavpar[39] = -((1.0*apardot[39]*q_)/m_); - alphavpar[40] = -((1.0*apardot[40]*q_)/m_); - alphavpar[41] = -((1.0*apardot[41]*q_)/m_); - alphavpar[42] = -((1.0*apardot[42]*q_)/m_); - alphavpar[43] = -((1.0*apardot[43]*q_)/m_); - alphavpar[44] = -((1.0*apardot[44]*q_)/m_); - alphavpar[45] = -((1.0*apardot[45]*q_)/m_); - alphavpar[46] = -((1.0*apardot[46]*q_)/m_); - alphavpar[47] = -((1.0*apardot[47]*q_)/m_); + alphavpar[0] = -((2.0*apardot[0]*q_)/m_); + alphavpar[1] = -((2.0*apardot[1]*q_)/m_); + alphavpar[2] = -((2.0*apardot[2]*q_)/m_); + alphavpar[3] = -((2.0*apardot[3]*q_)/m_); + alphavpar[6] = -((2.0*apardot[4]*q_)/m_); + alphavpar[7] = -((2.0*apardot[5]*q_)/m_); + alphavpar[8] = -((2.0*apardot[6]*q_)/m_); + alphavpar[16] = -((2.0*apardot[7]*q_)/m_); - out[4] += 0.3061862178478971*(alphavpar[47]*fin[47]+alphavpar[46]*fin[46]+alphavpar[45]*fin[45]+alphavpar[44]*fin[44]+alphavpar[43]*fin[43]+alphavpar[42]*fin[42]+alphavpar[41]*fin[41]+alphavpar[40]*fin[40]+alphavpar[39]*fin[39]+alphavpar[38]*fin[38]+alphavpar[37]*fin[37]+alphavpar[36]*fin[36]+alphavpar[35]*fin[35]+alphavpar[34]*fin[34]+alphavpar[33]*fin[33]+alphavpar[32]*fin[32]+alphavpar[31]*fin[31]+alphavpar[30]*fin[30]+alphavpar[29]*fin[29]+alphavpar[28]*fin[28]+alphavpar[27]*fin[27]+alphavpar[26]*fin[26]+alphavpar[25]*fin[25]+alphavpar[24]*fin[24]+alphavpar[23]*fin[23]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[19]*fin[19]+alphavpar[18]*fin[18]+alphavpar[17]*fin[17]+alphavpar[16]*fin[16]+alphavpar[15]*fin[15]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); - out[9] += 0.3061862178478971*(alphavpar[46]*fin[47]+fin[46]*alphavpar[47]+alphavpar[42]*fin[45]+fin[42]*alphavpar[45]+alphavpar[41]*fin[44]+fin[41]*alphavpar[44]+alphavpar[39]*fin[43]+fin[39]*alphavpar[43]+alphavpar[36]*fin[40]+fin[36]*alphavpar[40]+alphavpar[35]*fin[38]+fin[35]*alphavpar[38]+alphavpar[34]*fin[37]+fin[34]*alphavpar[37]+alphavpar[32]*fin[33]+fin[32]*alphavpar[33]+alphavpar[30]*fin[31]+fin[30]*alphavpar[31]+alphavpar[25]*fin[29]+fin[25]*alphavpar[29]+alphavpar[24]*fin[28]+fin[24]*alphavpar[28]+alphavpar[22]*fin[27]+fin[22]*alphavpar[27]+alphavpar[19]*fin[26]+fin[19]*alphavpar[26]+alphavpar[15]*fin[23]+fin[15]*alphavpar[23]+alphavpar[14]*fin[21]+fin[14]*alphavpar[21]+alphavpar[13]*fin[20]+fin[13]*alphavpar[20]+alphavpar[11]*fin[18]+fin[11]*alphavpar[18]+alphavpar[10]*fin[17]+fin[10]*alphavpar[17]+alphavpar[8]*fin[16]+fin[8]*alphavpar[16]+alphavpar[5]*fin[12]+fin[5]*alphavpar[12]+alphavpar[4]*fin[9]+fin[4]*alphavpar[9]+alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); - out[10] += 0.3061862178478971*(alphavpar[45]*fin[47]+fin[45]*alphavpar[47]+alphavpar[42]*fin[46]+fin[42]*alphavpar[46]+alphavpar[40]*fin[44]+fin[40]*alphavpar[44]+alphavpar[38]*fin[43]+fin[38]*alphavpar[43]+alphavpar[36]*fin[41]+fin[36]*alphavpar[41]+alphavpar[35]*fin[39]+fin[35]*alphavpar[39]+alphavpar[33]*fin[37]+fin[33]*alphavpar[37]+alphavpar[32]*fin[34]+fin[32]*alphavpar[34]+alphavpar[29]*fin[31]+fin[29]*alphavpar[31]+alphavpar[25]*fin[30]+fin[25]*alphavpar[30]+alphavpar[23]*fin[28]+fin[23]*alphavpar[28]+alphavpar[21]*fin[27]+fin[21]*alphavpar[27]+alphavpar[18]*fin[26]+fin[18]*alphavpar[26]+alphavpar[15]*fin[24]+fin[15]*alphavpar[24]+alphavpar[14]*fin[22]+fin[14]*alphavpar[22]+alphavpar[12]*fin[20]+fin[12]*alphavpar[20]+alphavpar[11]*fin[19]+fin[11]*alphavpar[19]+alphavpar[9]*fin[17]+fin[9]*alphavpar[17]+alphavpar[7]*fin[16]+fin[7]*alphavpar[16]+alphavpar[5]*fin[13]+fin[5]*alphavpar[13]+alphavpar[4]*fin[10]+fin[4]*alphavpar[10]+alphavpar[3]*fin[8]+fin[3]*alphavpar[8]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); - out[11] += 0.3061862178478971*(alphavpar[44]*fin[47]+fin[44]*alphavpar[47]+alphavpar[41]*fin[46]+fin[41]*alphavpar[46]+alphavpar[40]*fin[45]+fin[40]*alphavpar[45]+alphavpar[37]*fin[43]+fin[37]*alphavpar[43]+alphavpar[36]*fin[42]+fin[36]*alphavpar[42]+alphavpar[34]*fin[39]+fin[34]*alphavpar[39]+alphavpar[33]*fin[38]+fin[33]*alphavpar[38]+alphavpar[32]*fin[35]+fin[32]*alphavpar[35]+alphavpar[28]*fin[31]+fin[28]*alphavpar[31]+alphavpar[24]*fin[30]+fin[24]*alphavpar[30]+alphavpar[23]*fin[29]+fin[23]*alphavpar[29]+alphavpar[20]*fin[27]+fin[20]*alphavpar[27]+alphavpar[17]*fin[26]+fin[17]*alphavpar[26]+alphavpar[15]*fin[25]+fin[15]*alphavpar[25]+alphavpar[13]*fin[22]+fin[13]*alphavpar[22]+alphavpar[12]*fin[21]+fin[12]*alphavpar[21]+alphavpar[10]*fin[19]+fin[10]*alphavpar[19]+alphavpar[9]*fin[18]+fin[9]*alphavpar[18]+alphavpar[6]*fin[16]+fin[6]*alphavpar[16]+alphavpar[5]*fin[14]+fin[5]*alphavpar[14]+alphavpar[4]*fin[11]+fin[4]*alphavpar[11]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8]+alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); - out[15] += 0.3061862178478971*(alphavpar[43]*fin[47]+fin[43]*alphavpar[47]+alphavpar[39]*fin[46]+fin[39]*alphavpar[46]+alphavpar[38]*fin[45]+fin[38]*alphavpar[45]+alphavpar[37]*fin[44]+fin[37]*alphavpar[44]+alphavpar[35]*fin[42]+fin[35]*alphavpar[42]+alphavpar[34]*fin[41]+fin[34]*alphavpar[41]+alphavpar[33]*fin[40]+fin[33]*alphavpar[40]+alphavpar[32]*fin[36]+fin[32]*alphavpar[36]+alphavpar[26]*fin[31]+fin[26]*alphavpar[31]+alphavpar[19]*fin[30]+fin[19]*alphavpar[30]+alphavpar[18]*fin[29]+fin[18]*alphavpar[29]+alphavpar[17]*fin[28]+fin[17]*alphavpar[28]+alphavpar[16]*fin[27]+fin[16]*alphavpar[27]+alphavpar[11]*fin[25]+fin[11]*alphavpar[25]+alphavpar[10]*fin[24]+fin[10]*alphavpar[24]+alphavpar[9]*fin[23]+fin[9]*alphavpar[23]+alphavpar[8]*fin[22]+fin[8]*alphavpar[22]+alphavpar[7]*fin[21]+fin[7]*alphavpar[21]+alphavpar[6]*fin[20]+fin[6]*alphavpar[20]+alphavpar[4]*fin[15]+fin[4]*alphavpar[15]+alphavpar[3]*fin[14]+fin[3]*alphavpar[14]+alphavpar[2]*fin[13]+fin[2]*alphavpar[13]+alphavpar[1]*fin[12]+fin[1]*alphavpar[12]+alphavpar[0]*fin[5]+fin[0]*alphavpar[5]); - out[17] += 0.3061862178478971*(alphavpar[42]*fin[47]+fin[42]*alphavpar[47]+alphavpar[45]*fin[46]+fin[45]*alphavpar[46]+alphavpar[36]*fin[44]+fin[36]*alphavpar[44]+alphavpar[35]*fin[43]+fin[35]*alphavpar[43]+alphavpar[40]*fin[41]+fin[40]*alphavpar[41]+alphavpar[38]*fin[39]+fin[38]*alphavpar[39]+alphavpar[32]*fin[37]+fin[32]*alphavpar[37]+alphavpar[33]*fin[34]+fin[33]*alphavpar[34]+alphavpar[25]*fin[31]+fin[25]*alphavpar[31]+alphavpar[29]*fin[30]+fin[29]*alphavpar[30]+alphavpar[15]*fin[28]+fin[15]*alphavpar[28]+alphavpar[14]*fin[27]+fin[14]*alphavpar[27]+alphavpar[11]*fin[26]+fin[11]*alphavpar[26]+alphavpar[23]*fin[24]+fin[23]*alphavpar[24]+alphavpar[21]*fin[22]+fin[21]*alphavpar[22]+alphavpar[5]*fin[20]+fin[5]*alphavpar[20]+alphavpar[18]*fin[19]+fin[18]*alphavpar[19]+alphavpar[4]*fin[17]+fin[4]*alphavpar[17]+alphavpar[3]*fin[16]+fin[3]*alphavpar[16]+alphavpar[12]*fin[13]+fin[12]*alphavpar[13]+alphavpar[9]*fin[10]+fin[9]*alphavpar[10]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); - out[18] += 0.3061862178478971*(alphavpar[41]*fin[47]+fin[41]*alphavpar[47]+alphavpar[44]*fin[46]+fin[44]*alphavpar[46]+alphavpar[36]*fin[45]+fin[36]*alphavpar[45]+alphavpar[34]*fin[43]+fin[34]*alphavpar[43]+alphavpar[40]*fin[42]+fin[40]*alphavpar[42]+alphavpar[37]*fin[39]+fin[37]*alphavpar[39]+alphavpar[32]*fin[38]+fin[32]*alphavpar[38]+alphavpar[33]*fin[35]+fin[33]*alphavpar[35]+alphavpar[24]*fin[31]+fin[24]*alphavpar[31]+alphavpar[28]*fin[30]+fin[28]*alphavpar[30]+alphavpar[15]*fin[29]+fin[15]*alphavpar[29]+alphavpar[13]*fin[27]+fin[13]*alphavpar[27]+alphavpar[10]*fin[26]+fin[10]*alphavpar[26]+alphavpar[23]*fin[25]+fin[23]*alphavpar[25]+alphavpar[20]*fin[22]+fin[20]*alphavpar[22]+alphavpar[5]*fin[21]+fin[5]*alphavpar[21]+alphavpar[17]*fin[19]+fin[17]*alphavpar[19]+alphavpar[4]*fin[18]+fin[4]*alphavpar[18]+alphavpar[2]*fin[16]+fin[2]*alphavpar[16]+alphavpar[12]*fin[14]+fin[12]*alphavpar[14]+alphavpar[9]*fin[11]+fin[9]*alphavpar[11]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8]+alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); - out[19] += 0.3061862178478971*(alphavpar[40]*fin[47]+fin[40]*alphavpar[47]+alphavpar[36]*fin[46]+fin[36]*alphavpar[46]+alphavpar[44]*fin[45]+fin[44]*alphavpar[45]+alphavpar[33]*fin[43]+fin[33]*alphavpar[43]+alphavpar[41]*fin[42]+fin[41]*alphavpar[42]+alphavpar[32]*fin[39]+fin[32]*alphavpar[39]+alphavpar[37]*fin[38]+fin[37]*alphavpar[38]+alphavpar[34]*fin[35]+fin[34]*alphavpar[35]+alphavpar[23]*fin[31]+fin[23]*alphavpar[31]+alphavpar[15]*fin[30]+fin[15]*alphavpar[30]+alphavpar[28]*fin[29]+fin[28]*alphavpar[29]+alphavpar[12]*fin[27]+fin[12]*alphavpar[27]+alphavpar[9]*fin[26]+fin[9]*alphavpar[26]+alphavpar[24]*fin[25]+fin[24]*alphavpar[25]+alphavpar[5]*fin[22]+fin[5]*alphavpar[22]+alphavpar[20]*fin[21]+fin[20]*alphavpar[21]+alphavpar[4]*fin[19]+fin[4]*alphavpar[19]+alphavpar[17]*fin[18]+fin[17]*alphavpar[18]+alphavpar[1]*fin[16]+fin[1]*alphavpar[16]+alphavpar[13]*fin[14]+fin[13]*alphavpar[14]+alphavpar[10]*fin[11]+fin[10]*alphavpar[11]+alphavpar[0]*fin[8]+fin[0]*alphavpar[8]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); - out[23] += 0.3061862178478971*(alphavpar[39]*fin[47]+fin[39]*alphavpar[47]+alphavpar[43]*fin[46]+fin[43]*alphavpar[46]+alphavpar[35]*fin[45]+fin[35]*alphavpar[45]+alphavpar[34]*fin[44]+fin[34]*alphavpar[44]+alphavpar[38]*fin[42]+fin[38]*alphavpar[42]+alphavpar[37]*fin[41]+fin[37]*alphavpar[41]+alphavpar[32]*fin[40]+fin[32]*alphavpar[40]+alphavpar[33]*fin[36]+fin[33]*alphavpar[36]+alphavpar[19]*fin[31]+fin[19]*alphavpar[31]+alphavpar[26]*fin[30]+fin[26]*alphavpar[30]+alphavpar[11]*fin[29]+fin[11]*alphavpar[29]+alphavpar[10]*fin[28]+fin[10]*alphavpar[28]+alphavpar[8]*fin[27]+fin[8]*alphavpar[27]+alphavpar[18]*fin[25]+fin[18]*alphavpar[25]+alphavpar[17]*fin[24]+fin[17]*alphavpar[24]+alphavpar[4]*fin[23]+fin[4]*alphavpar[23]+alphavpar[16]*fin[22]+fin[16]*alphavpar[22]+alphavpar[3]*fin[21]+fin[3]*alphavpar[21]+alphavpar[2]*fin[20]+fin[2]*alphavpar[20]+alphavpar[9]*fin[15]+fin[9]*alphavpar[15]+alphavpar[7]*fin[14]+fin[7]*alphavpar[14]+alphavpar[6]*fin[13]+fin[6]*alphavpar[13]+alphavpar[0]*fin[12]+fin[0]*alphavpar[12]+alphavpar[1]*fin[5]+fin[1]*alphavpar[5]); - out[24] += 0.3061862178478971*(alphavpar[38]*fin[47]+fin[38]*alphavpar[47]+alphavpar[35]*fin[46]+fin[35]*alphavpar[46]+alphavpar[43]*fin[45]+fin[43]*alphavpar[45]+alphavpar[33]*fin[44]+fin[33]*alphavpar[44]+alphavpar[39]*fin[42]+fin[39]*alphavpar[42]+alphavpar[32]*fin[41]+fin[32]*alphavpar[41]+alphavpar[37]*fin[40]+fin[37]*alphavpar[40]+alphavpar[34]*fin[36]+fin[34]*alphavpar[36]+alphavpar[18]*fin[31]+fin[18]*alphavpar[31]+alphavpar[11]*fin[30]+fin[11]*alphavpar[30]+alphavpar[26]*fin[29]+fin[26]*alphavpar[29]+alphavpar[9]*fin[28]+fin[9]*alphavpar[28]+alphavpar[7]*fin[27]+fin[7]*alphavpar[27]+alphavpar[19]*fin[25]+fin[19]*alphavpar[25]+alphavpar[4]*fin[24]+fin[4]*alphavpar[24]+alphavpar[17]*fin[23]+fin[17]*alphavpar[23]+alphavpar[3]*fin[22]+fin[3]*alphavpar[22]+alphavpar[16]*fin[21]+fin[16]*alphavpar[21]+alphavpar[1]*fin[20]+fin[1]*alphavpar[20]+alphavpar[10]*fin[15]+fin[10]*alphavpar[15]+alphavpar[8]*fin[14]+fin[8]*alphavpar[14]+alphavpar[0]*fin[13]+fin[0]*alphavpar[13]+alphavpar[6]*fin[12]+fin[6]*alphavpar[12]+alphavpar[2]*fin[5]+fin[2]*alphavpar[5]); - out[25] += 0.3061862178478971*(alphavpar[37]*fin[47]+fin[37]*alphavpar[47]+alphavpar[34]*fin[46]+fin[34]*alphavpar[46]+alphavpar[33]*fin[45]+fin[33]*alphavpar[45]+alphavpar[43]*fin[44]+fin[43]*alphavpar[44]+alphavpar[32]*fin[42]+fin[32]*alphavpar[42]+alphavpar[39]*fin[41]+fin[39]*alphavpar[41]+alphavpar[38]*fin[40]+fin[38]*alphavpar[40]+alphavpar[35]*fin[36]+fin[35]*alphavpar[36]+alphavpar[17]*fin[31]+fin[17]*alphavpar[31]+alphavpar[10]*fin[30]+fin[10]*alphavpar[30]+alphavpar[9]*fin[29]+fin[9]*alphavpar[29]+alphavpar[26]*fin[28]+fin[26]*alphavpar[28]+alphavpar[6]*fin[27]+fin[6]*alphavpar[27]+alphavpar[4]*fin[25]+fin[4]*alphavpar[25]+alphavpar[19]*fin[24]+fin[19]*alphavpar[24]+alphavpar[18]*fin[23]+fin[18]*alphavpar[23]+alphavpar[2]*fin[22]+fin[2]*alphavpar[22]+alphavpar[1]*fin[21]+fin[1]*alphavpar[21]+alphavpar[16]*fin[20]+fin[16]*alphavpar[20]+alphavpar[11]*fin[15]+fin[11]*alphavpar[15]+alphavpar[0]*fin[14]+fin[0]*alphavpar[14]+alphavpar[8]*fin[13]+fin[8]*alphavpar[13]+alphavpar[7]*fin[12]+fin[7]*alphavpar[12]+alphavpar[3]*fin[5]+fin[3]*alphavpar[5]); - out[26] += 0.3061862178478971*(alphavpar[36]*fin[47]+fin[36]*alphavpar[47]+alphavpar[40]*fin[46]+fin[40]*alphavpar[46]+alphavpar[41]*fin[45]+fin[41]*alphavpar[45]+alphavpar[42]*fin[44]+fin[42]*alphavpar[44]+alphavpar[32]*fin[43]+fin[32]*alphavpar[43]+alphavpar[33]*fin[39]+fin[33]*alphavpar[39]+alphavpar[34]*fin[38]+fin[34]*alphavpar[38]+alphavpar[35]*fin[37]+fin[35]*alphavpar[37]+alphavpar[15]*fin[31]+fin[15]*alphavpar[31]+alphavpar[23]*fin[30]+fin[23]*alphavpar[30]+alphavpar[24]*fin[29]+fin[24]*alphavpar[29]+alphavpar[25]*fin[28]+fin[25]*alphavpar[28]+alphavpar[5]*fin[27]+fin[5]*alphavpar[27]+alphavpar[4]*fin[26]+fin[4]*alphavpar[26]+alphavpar[12]*fin[22]+fin[12]*alphavpar[22]+alphavpar[13]*fin[21]+fin[13]*alphavpar[21]+alphavpar[14]*fin[20]+fin[14]*alphavpar[20]+alphavpar[9]*fin[19]+fin[9]*alphavpar[19]+alphavpar[10]*fin[18]+fin[10]*alphavpar[18]+alphavpar[11]*fin[17]+fin[11]*alphavpar[17]+alphavpar[0]*fin[16]+fin[0]*alphavpar[16]+alphavpar[1]*fin[8]+fin[1]*alphavpar[8]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]); - out[28] += 0.3061862178478971*(alphavpar[35]*fin[47]+fin[35]*alphavpar[47]+alphavpar[38]*fin[46]+fin[38]*alphavpar[46]+alphavpar[39]*fin[45]+fin[39]*alphavpar[45]+alphavpar[32]*fin[44]+fin[32]*alphavpar[44]+alphavpar[42]*fin[43]+fin[42]*alphavpar[43]+alphavpar[33]*fin[41]+fin[33]*alphavpar[41]+alphavpar[34]*fin[40]+fin[34]*alphavpar[40]+alphavpar[36]*fin[37]+fin[36]*alphavpar[37]+alphavpar[11]*fin[31]+fin[11]*alphavpar[31]+alphavpar[18]*fin[30]+fin[18]*alphavpar[30]+alphavpar[19]*fin[29]+fin[19]*alphavpar[29]+alphavpar[4]*fin[28]+fin[4]*alphavpar[28]+alphavpar[3]*fin[27]+fin[3]*alphavpar[27]+alphavpar[25]*fin[26]+fin[25]*alphavpar[26]+alphavpar[9]*fin[24]+fin[9]*alphavpar[24]+alphavpar[10]*fin[23]+fin[10]*alphavpar[23]+alphavpar[7]*fin[22]+fin[7]*alphavpar[22]+alphavpar[8]*fin[21]+fin[8]*alphavpar[21]+alphavpar[0]*fin[20]+fin[0]*alphavpar[20]+alphavpar[15]*fin[17]+fin[15]*alphavpar[17]+alphavpar[14]*fin[16]+fin[14]*alphavpar[16]+alphavpar[1]*fin[13]+fin[1]*alphavpar[13]+alphavpar[2]*fin[12]+fin[2]*alphavpar[12]+alphavpar[5]*fin[6]+fin[5]*alphavpar[6]); - out[29] += 0.3061862178478971*(alphavpar[34]*fin[47]+fin[34]*alphavpar[47]+alphavpar[37]*fin[46]+fin[37]*alphavpar[46]+alphavpar[32]*fin[45]+fin[32]*alphavpar[45]+alphavpar[39]*fin[44]+fin[39]*alphavpar[44]+alphavpar[41]*fin[43]+fin[41]*alphavpar[43]+alphavpar[33]*fin[42]+fin[33]*alphavpar[42]+alphavpar[35]*fin[40]+fin[35]*alphavpar[40]+alphavpar[36]*fin[38]+fin[36]*alphavpar[38]+alphavpar[10]*fin[31]+fin[10]*alphavpar[31]+alphavpar[17]*fin[30]+fin[17]*alphavpar[30]+alphavpar[4]*fin[29]+fin[4]*alphavpar[29]+alphavpar[19]*fin[28]+fin[19]*alphavpar[28]+alphavpar[2]*fin[27]+fin[2]*alphavpar[27]+alphavpar[24]*fin[26]+fin[24]*alphavpar[26]+alphavpar[9]*fin[25]+fin[9]*alphavpar[25]+alphavpar[11]*fin[23]+fin[11]*alphavpar[23]+alphavpar[6]*fin[22]+fin[6]*alphavpar[22]+alphavpar[0]*fin[21]+fin[0]*alphavpar[21]+alphavpar[8]*fin[20]+fin[8]*alphavpar[20]+alphavpar[15]*fin[18]+fin[15]*alphavpar[18]+alphavpar[13]*fin[16]+fin[13]*alphavpar[16]+alphavpar[1]*fin[14]+fin[1]*alphavpar[14]+alphavpar[3]*fin[12]+fin[3]*alphavpar[12]+alphavpar[5]*fin[7]+fin[5]*alphavpar[7]); - out[30] += 0.3061862178478971*(alphavpar[33]*fin[47]+fin[33]*alphavpar[47]+alphavpar[32]*fin[46]+fin[32]*alphavpar[46]+alphavpar[37]*fin[45]+fin[37]*alphavpar[45]+alphavpar[38]*fin[44]+fin[38]*alphavpar[44]+alphavpar[40]*fin[43]+fin[40]*alphavpar[43]+alphavpar[34]*fin[42]+fin[34]*alphavpar[42]+alphavpar[35]*fin[41]+fin[35]*alphavpar[41]+alphavpar[36]*fin[39]+fin[36]*alphavpar[39]+alphavpar[9]*fin[31]+fin[9]*alphavpar[31]+alphavpar[4]*fin[30]+fin[4]*alphavpar[30]+alphavpar[17]*fin[29]+fin[17]*alphavpar[29]+alphavpar[18]*fin[28]+fin[18]*alphavpar[28]+alphavpar[1]*fin[27]+fin[1]*alphavpar[27]+alphavpar[23]*fin[26]+fin[23]*alphavpar[26]+alphavpar[10]*fin[25]+fin[10]*alphavpar[25]+alphavpar[11]*fin[24]+fin[11]*alphavpar[24]+alphavpar[0]*fin[22]+fin[0]*alphavpar[22]+alphavpar[6]*fin[21]+fin[6]*alphavpar[21]+alphavpar[7]*fin[20]+fin[7]*alphavpar[20]+alphavpar[15]*fin[19]+fin[15]*alphavpar[19]+alphavpar[12]*fin[16]+fin[12]*alphavpar[16]+alphavpar[2]*fin[14]+fin[2]*alphavpar[14]+alphavpar[3]*fin[13]+fin[3]*alphavpar[13]+alphavpar[5]*fin[8]+fin[5]*alphavpar[8]); - out[31] += 0.3061862178478971*(alphavpar[32]*fin[47]+fin[32]*alphavpar[47]+alphavpar[33]*fin[46]+fin[33]*alphavpar[46]+alphavpar[34]*fin[45]+fin[34]*alphavpar[45]+alphavpar[35]*fin[44]+fin[35]*alphavpar[44]+alphavpar[36]*fin[43]+fin[36]*alphavpar[43]+alphavpar[37]*fin[42]+fin[37]*alphavpar[42]+alphavpar[38]*fin[41]+fin[38]*alphavpar[41]+alphavpar[39]*fin[40]+fin[39]*alphavpar[40]+alphavpar[4]*fin[31]+fin[4]*alphavpar[31]+alphavpar[9]*fin[30]+fin[9]*alphavpar[30]+alphavpar[10]*fin[29]+fin[10]*alphavpar[29]+alphavpar[11]*fin[28]+fin[11]*alphavpar[28]+alphavpar[0]*fin[27]+fin[0]*alphavpar[27]+alphavpar[15]*fin[26]+fin[15]*alphavpar[26]+alphavpar[17]*fin[25]+fin[17]*alphavpar[25]+alphavpar[18]*fin[24]+fin[18]*alphavpar[24]+alphavpar[19]*fin[23]+fin[19]*alphavpar[23]+alphavpar[1]*fin[22]+fin[1]*alphavpar[22]+alphavpar[2]*fin[21]+fin[2]*alphavpar[21]+alphavpar[3]*fin[20]+fin[3]*alphavpar[20]+alphavpar[5]*fin[16]+fin[5]*alphavpar[16]+alphavpar[6]*fin[14]+fin[6]*alphavpar[14]+alphavpar[7]*fin[13]+fin[7]*alphavpar[13]+alphavpar[8]*fin[12]+fin[8]*alphavpar[12]); - out[32] += 0.6123724356957944*(alphavpar[31]*fin[47]+fin[31]*alphavpar[47]+alphavpar[30]*fin[46]+fin[30]*alphavpar[46]+alphavpar[29]*fin[45]+fin[29]*alphavpar[45]+alphavpar[28]*fin[44]+fin[28]*alphavpar[44]+alphavpar[26]*fin[43]+fin[26]*alphavpar[43]+alphavpar[25]*fin[42]+fin[25]*alphavpar[42]+alphavpar[24]*fin[41]+fin[24]*alphavpar[41]+alphavpar[23]*fin[40]+fin[23]*alphavpar[40]+alphavpar[19]*fin[39]+fin[19]*alphavpar[39]+alphavpar[18]*fin[38]+fin[18]*alphavpar[38]+alphavpar[17]*fin[37]+fin[17]*alphavpar[37]+alphavpar[15]*fin[36]+fin[15]*alphavpar[36]+alphavpar[11]*fin[35]+fin[11]*alphavpar[35]+alphavpar[10]*fin[34]+fin[10]*alphavpar[34]+alphavpar[9]*fin[33]+fin[9]*alphavpar[33]+alphavpar[4]*fin[32]+fin[4]*alphavpar[32])+0.6846531968814573*(alphavpar[27]*fin[31]+fin[27]*alphavpar[31]+alphavpar[22]*fin[30]+fin[22]*alphavpar[30]+alphavpar[21]*fin[29]+fin[21]*alphavpar[29]+alphavpar[20]*fin[28]+fin[20]*alphavpar[28]+alphavpar[16]*fin[26]+fin[16]*alphavpar[26]+alphavpar[14]*fin[25]+fin[14]*alphavpar[25]+alphavpar[13]*fin[24]+fin[13]*alphavpar[24]+alphavpar[12]*fin[23]+fin[12]*alphavpar[23]+alphavpar[8]*fin[19]+fin[8]*alphavpar[19]+alphavpar[7]*fin[18]+fin[7]*alphavpar[18]+alphavpar[6]*fin[17]+fin[6]*alphavpar[17]+alphavpar[5]*fin[15]+fin[5]*alphavpar[15]+alphavpar[3]*fin[11]+fin[3]*alphavpar[11]+alphavpar[2]*fin[10]+fin[2]*alphavpar[10]+alphavpar[1]*fin[9]+fin[1]*alphavpar[9]+alphavpar[0]*fin[4]+fin[0]*alphavpar[4]); - out[33] += 0.6123724356957944*(alphavpar[30]*fin[47]+fin[30]*alphavpar[47]+alphavpar[31]*fin[46]+fin[31]*alphavpar[46]+alphavpar[25]*fin[45]+fin[25]*alphavpar[45]+alphavpar[24]*fin[44]+fin[24]*alphavpar[44]+alphavpar[19]*fin[43]+fin[19]*alphavpar[43]+alphavpar[29]*fin[42]+fin[29]*alphavpar[42]+alphavpar[28]*fin[41]+fin[28]*alphavpar[41]+alphavpar[15]*fin[40]+fin[15]*alphavpar[40]+alphavpar[26]*fin[39]+fin[26]*alphavpar[39]+alphavpar[11]*fin[38]+fin[11]*alphavpar[38]+alphavpar[10]*fin[37]+fin[10]*alphavpar[37]+alphavpar[23]*fin[36]+fin[23]*alphavpar[36]+alphavpar[18]*fin[35]+fin[18]*alphavpar[35]+alphavpar[17]*fin[34]+fin[17]*alphavpar[34]+alphavpar[4]*fin[33]+fin[4]*alphavpar[33]+alphavpar[9]*fin[32]+fin[9]*alphavpar[32])+0.6846531968814574*(alphavpar[22]*fin[31]+fin[22]*alphavpar[31]+alphavpar[27]*fin[30]+fin[27]*alphavpar[30]+alphavpar[14]*fin[29]+fin[14]*alphavpar[29]+alphavpar[13]*fin[28]+fin[13]*alphavpar[28]+alphavpar[8]*fin[26]+fin[8]*alphavpar[26]+alphavpar[21]*fin[25]+fin[21]*alphavpar[25]+alphavpar[20]*fin[24]+fin[20]*alphavpar[24]+alphavpar[5]*fin[23]+fin[5]*alphavpar[23]+alphavpar[16]*fin[19]+fin[16]*alphavpar[19]+alphavpar[3]*fin[18]+fin[3]*alphavpar[18]+alphavpar[2]*fin[17]+fin[2]*alphavpar[17]+alphavpar[12]*fin[15]+fin[12]*alphavpar[15]+alphavpar[7]*fin[11]+fin[7]*alphavpar[11]+alphavpar[6]*fin[10]+fin[6]*alphavpar[10]+alphavpar[0]*fin[9]+fin[0]*alphavpar[9]+alphavpar[1]*fin[4]+fin[1]*alphavpar[4]); - out[34] += 0.6123724356957944*(alphavpar[29]*fin[47]+fin[29]*alphavpar[47]+alphavpar[25]*fin[46]+fin[25]*alphavpar[46]+alphavpar[31]*fin[45]+fin[31]*alphavpar[45]+alphavpar[23]*fin[44]+fin[23]*alphavpar[44]+alphavpar[18]*fin[43]+fin[18]*alphavpar[43]+alphavpar[30]*fin[42]+fin[30]*alphavpar[42]+alphavpar[15]*fin[41]+fin[15]*alphavpar[41]+alphavpar[28]*fin[40]+fin[28]*alphavpar[40]+alphavpar[11]*fin[39]+fin[11]*alphavpar[39]+alphavpar[26]*fin[38]+fin[26]*alphavpar[38]+alphavpar[9]*fin[37]+fin[9]*alphavpar[37]+alphavpar[24]*fin[36]+fin[24]*alphavpar[36]+alphavpar[19]*fin[35]+fin[19]*alphavpar[35]+alphavpar[4]*fin[34]+fin[4]*alphavpar[34]+alphavpar[17]*fin[33]+fin[17]*alphavpar[33]+alphavpar[10]*fin[32]+fin[10]*alphavpar[32])+0.6846531968814574*(alphavpar[21]*fin[31]+fin[21]*alphavpar[31]+alphavpar[14]*fin[30]+fin[14]*alphavpar[30]+alphavpar[27]*fin[29]+fin[27]*alphavpar[29]+alphavpar[12]*fin[28]+fin[12]*alphavpar[28]+alphavpar[7]*fin[26]+fin[7]*alphavpar[26]+alphavpar[22]*fin[25]+fin[22]*alphavpar[25]+alphavpar[5]*fin[24]+fin[5]*alphavpar[24]+alphavpar[20]*fin[23]+fin[20]*alphavpar[23]+alphavpar[3]*fin[19]+fin[3]*alphavpar[19]+alphavpar[16]*fin[18]+fin[16]*alphavpar[18]+alphavpar[1]*fin[17]+fin[1]*alphavpar[17]+alphavpar[13]*fin[15]+fin[13]*alphavpar[15]+alphavpar[8]*fin[11]+fin[8]*alphavpar[11]+alphavpar[0]*fin[10]+fin[0]*alphavpar[10]+alphavpar[6]*fin[9]+fin[6]*alphavpar[9]+alphavpar[2]*fin[4]+fin[2]*alphavpar[4]); - out[35] += 0.6123724356957944*(alphavpar[28]*fin[47]+fin[28]*alphavpar[47]+alphavpar[24]*fin[46]+fin[24]*alphavpar[46]+alphavpar[23]*fin[45]+fin[23]*alphavpar[45]+alphavpar[31]*fin[44]+fin[31]*alphavpar[44]+alphavpar[17]*fin[43]+fin[17]*alphavpar[43]+alphavpar[15]*fin[42]+fin[15]*alphavpar[42]+alphavpar[30]*fin[41]+fin[30]*alphavpar[41]+alphavpar[29]*fin[40]+fin[29]*alphavpar[40]+alphavpar[10]*fin[39]+fin[10]*alphavpar[39]+alphavpar[9]*fin[38]+fin[9]*alphavpar[38]+alphavpar[26]*fin[37]+fin[26]*alphavpar[37]+alphavpar[25]*fin[36]+fin[25]*alphavpar[36]+alphavpar[4]*fin[35]+fin[4]*alphavpar[35]+alphavpar[19]*fin[34]+fin[19]*alphavpar[34]+alphavpar[18]*fin[33]+fin[18]*alphavpar[33]+alphavpar[11]*fin[32]+fin[11]*alphavpar[32])+0.6846531968814574*(alphavpar[20]*fin[31]+fin[20]*alphavpar[31]+alphavpar[13]*fin[30]+fin[13]*alphavpar[30]+alphavpar[12]*fin[29]+fin[12]*alphavpar[29]+alphavpar[27]*fin[28]+fin[27]*alphavpar[28]+alphavpar[6]*fin[26]+fin[6]*alphavpar[26]+alphavpar[5]*fin[25]+fin[5]*alphavpar[25]+alphavpar[22]*fin[24]+fin[22]*alphavpar[24]+alphavpar[21]*fin[23]+fin[21]*alphavpar[23]+alphavpar[2]*fin[19]+fin[2]*alphavpar[19]+alphavpar[1]*fin[18]+fin[1]*alphavpar[18]+alphavpar[16]*fin[17]+fin[16]*alphavpar[17]+alphavpar[14]*fin[15]+fin[14]*alphavpar[15]+alphavpar[0]*fin[11]+fin[0]*alphavpar[11]+alphavpar[8]*fin[10]+fin[8]*alphavpar[10]+alphavpar[7]*fin[9]+fin[7]*alphavpar[9]+alphavpar[3]*fin[4]+fin[3]*alphavpar[4]); - out[36] += 0.6123724356957944*(alphavpar[26]*fin[47]+fin[26]*alphavpar[47]+alphavpar[19]*fin[46]+fin[19]*alphavpar[46]+alphavpar[18]*fin[45]+fin[18]*alphavpar[45]+alphavpar[17]*fin[44]+fin[17]*alphavpar[44]+alphavpar[31]*fin[43]+fin[31]*alphavpar[43]+alphavpar[11]*fin[42]+fin[11]*alphavpar[42]+alphavpar[10]*fin[41]+fin[10]*alphavpar[41]+alphavpar[9]*fin[40]+fin[9]*alphavpar[40]+alphavpar[30]*fin[39]+fin[30]*alphavpar[39]+alphavpar[29]*fin[38]+fin[29]*alphavpar[38]+alphavpar[28]*fin[37]+fin[28]*alphavpar[37]+alphavpar[4]*fin[36]+fin[4]*alphavpar[36]+alphavpar[25]*fin[35]+fin[25]*alphavpar[35]+alphavpar[24]*fin[34]+fin[24]*alphavpar[34]+alphavpar[23]*fin[33]+fin[23]*alphavpar[33]+alphavpar[15]*fin[32]+fin[15]*alphavpar[32])+0.6846531968814574*(alphavpar[16]*fin[31]+fin[16]*alphavpar[31]+alphavpar[8]*fin[30]+fin[8]*alphavpar[30]+alphavpar[7]*fin[29]+fin[7]*alphavpar[29]+alphavpar[6]*fin[28]+fin[6]*alphavpar[28]+alphavpar[26]*fin[27]+fin[26]*alphavpar[27]+alphavpar[3]*fin[25]+fin[3]*alphavpar[25]+alphavpar[2]*fin[24]+fin[2]*alphavpar[24]+alphavpar[1]*fin[23]+fin[1]*alphavpar[23]+alphavpar[19]*fin[22]+fin[19]*alphavpar[22]+alphavpar[18]*fin[21]+fin[18]*alphavpar[21]+alphavpar[17]*fin[20]+fin[17]*alphavpar[20]+alphavpar[0]*fin[15]+fin[0]*alphavpar[15]+alphavpar[11]*fin[14]+fin[11]*alphavpar[14]+alphavpar[10]*fin[13]+fin[10]*alphavpar[13]+alphavpar[9]*fin[12]+fin[9]*alphavpar[12]+alphavpar[4]*fin[5]+fin[4]*alphavpar[5]); - out[37] += 0.6123724356957944*(alphavpar[25]*fin[47]+fin[25]*alphavpar[47]+alphavpar[29]*fin[46]+fin[29]*alphavpar[46]+alphavpar[30]*fin[45]+fin[30]*alphavpar[45]+alphavpar[15]*fin[44]+fin[15]*alphavpar[44]+alphavpar[11]*fin[43]+fin[11]*alphavpar[43]+alphavpar[31]*fin[42]+fin[31]*alphavpar[42]+alphavpar[23]*fin[41]+fin[23]*alphavpar[41]+alphavpar[24]*fin[40]+fin[24]*alphavpar[40]+alphavpar[18]*fin[39]+fin[18]*alphavpar[39]+alphavpar[19]*fin[38]+fin[19]*alphavpar[38]+alphavpar[4]*fin[37]+fin[4]*alphavpar[37]+alphavpar[28]*fin[36]+fin[28]*alphavpar[36]+alphavpar[26]*fin[35]+fin[26]*alphavpar[35]+alphavpar[9]*fin[34]+fin[9]*alphavpar[34]+alphavpar[10]*fin[33]+fin[10]*alphavpar[33]+alphavpar[17]*fin[32]+fin[17]*alphavpar[32])+0.6846531968814573*(alphavpar[14]*fin[31]+fin[14]*alphavpar[31]+alphavpar[21]*fin[30]+fin[21]*alphavpar[30]+alphavpar[22]*fin[29]+fin[22]*alphavpar[29]+alphavpar[5]*fin[28]+fin[5]*alphavpar[28]+alphavpar[25]*fin[27]+fin[25]*alphavpar[27]+alphavpar[3]*fin[26]+fin[3]*alphavpar[26]+alphavpar[12]*fin[24]+fin[12]*alphavpar[24]+alphavpar[13]*fin[23]+fin[13]*alphavpar[23]+alphavpar[15]*fin[20]+fin[15]*alphavpar[20]+alphavpar[7]*fin[19]+fin[7]*alphavpar[19]+alphavpar[8]*fin[18]+fin[8]*alphavpar[18]+alphavpar[0]*fin[17]+fin[0]*alphavpar[17]+alphavpar[11]*fin[16]+fin[11]*alphavpar[16]+alphavpar[1]*fin[10]+fin[1]*alphavpar[10]+alphavpar[2]*fin[9]+fin[2]*alphavpar[9]+alphavpar[4]*fin[6]+fin[4]*alphavpar[6]); - out[38] += 0.6123724356957944*(alphavpar[24]*fin[47]+fin[24]*alphavpar[47]+alphavpar[28]*fin[46]+fin[28]*alphavpar[46]+alphavpar[15]*fin[45]+fin[15]*alphavpar[45]+alphavpar[30]*fin[44]+fin[30]*alphavpar[44]+alphavpar[10]*fin[43]+fin[10]*alphavpar[43]+alphavpar[23]*fin[42]+fin[23]*alphavpar[42]+alphavpar[31]*fin[41]+fin[31]*alphavpar[41]+alphavpar[25]*fin[40]+fin[25]*alphavpar[40]+alphavpar[17]*fin[39]+fin[17]*alphavpar[39]+alphavpar[4]*fin[38]+fin[4]*alphavpar[38]+alphavpar[19]*fin[37]+fin[19]*alphavpar[37]+alphavpar[29]*fin[36]+fin[29]*alphavpar[36]+alphavpar[9]*fin[35]+fin[9]*alphavpar[35]+alphavpar[26]*fin[34]+fin[26]*alphavpar[34]+alphavpar[11]*fin[33]+fin[11]*alphavpar[33]+alphavpar[18]*fin[32]+fin[18]*alphavpar[32])+0.6846531968814573*(alphavpar[13]*fin[31]+fin[13]*alphavpar[31]+alphavpar[20]*fin[30]+fin[20]*alphavpar[30]+alphavpar[5]*fin[29]+fin[5]*alphavpar[29]+alphavpar[22]*fin[28]+fin[22]*alphavpar[28]+alphavpar[24]*fin[27]+fin[24]*alphavpar[27]+alphavpar[2]*fin[26]+fin[2]*alphavpar[26]+alphavpar[12]*fin[25]+fin[12]*alphavpar[25]+alphavpar[14]*fin[23]+fin[14]*alphavpar[23]+alphavpar[15]*fin[21]+fin[15]*alphavpar[21]+alphavpar[6]*fin[19]+fin[6]*alphavpar[19]+alphavpar[0]*fin[18]+fin[0]*alphavpar[18]+alphavpar[8]*fin[17]+fin[8]*alphavpar[17]+alphavpar[10]*fin[16]+fin[10]*alphavpar[16]+alphavpar[1]*fin[11]+fin[1]*alphavpar[11]+alphavpar[3]*fin[9]+fin[3]*alphavpar[9]+alphavpar[4]*fin[7]+fin[4]*alphavpar[7]); - out[39] += 0.6123724356957944*(alphavpar[23]*fin[47]+fin[23]*alphavpar[47]+alphavpar[15]*fin[46]+fin[15]*alphavpar[46]+alphavpar[28]*fin[45]+fin[28]*alphavpar[45]+alphavpar[29]*fin[44]+fin[29]*alphavpar[44]+alphavpar[9]*fin[43]+fin[9]*alphavpar[43]+alphavpar[24]*fin[42]+fin[24]*alphavpar[42]+alphavpar[25]*fin[41]+fin[25]*alphavpar[41]+alphavpar[31]*fin[40]+fin[31]*alphavpar[40]+alphavpar[4]*fin[39]+fin[4]*alphavpar[39]+alphavpar[17]*fin[38]+fin[17]*alphavpar[38]+alphavpar[18]*fin[37]+fin[18]*alphavpar[37]+alphavpar[30]*fin[36]+fin[30]*alphavpar[36]+alphavpar[10]*fin[35]+fin[10]*alphavpar[35]+alphavpar[11]*fin[34]+fin[11]*alphavpar[34]+alphavpar[26]*fin[33]+fin[26]*alphavpar[33]+alphavpar[19]*fin[32]+fin[19]*alphavpar[32])+0.6846531968814573*(alphavpar[12]*fin[31]+fin[12]*alphavpar[31]+alphavpar[5]*fin[30]+fin[5]*alphavpar[30]+alphavpar[20]*fin[29]+fin[20]*alphavpar[29]+alphavpar[21]*fin[28]+fin[21]*alphavpar[28]+alphavpar[23]*fin[27]+fin[23]*alphavpar[27]+alphavpar[1]*fin[26]+fin[1]*alphavpar[26]+alphavpar[13]*fin[25]+fin[13]*alphavpar[25]+alphavpar[14]*fin[24]+fin[14]*alphavpar[24]+alphavpar[15]*fin[22]+fin[15]*alphavpar[22]+alphavpar[0]*fin[19]+fin[0]*alphavpar[19]+alphavpar[6]*fin[18]+fin[6]*alphavpar[18]+alphavpar[7]*fin[17]+fin[7]*alphavpar[17]+alphavpar[9]*fin[16]+fin[9]*alphavpar[16]+alphavpar[2]*fin[11]+fin[2]*alphavpar[11]+alphavpar[3]*fin[10]+fin[3]*alphavpar[10]+alphavpar[4]*fin[8]+fin[4]*alphavpar[8]); - out[40] += 0.6123724356957944*(alphavpar[19]*fin[47]+fin[19]*alphavpar[47]+alphavpar[26]*fin[46]+fin[26]*alphavpar[46]+alphavpar[11]*fin[45]+fin[11]*alphavpar[45]+alphavpar[10]*fin[44]+fin[10]*alphavpar[44]+alphavpar[30]*fin[43]+fin[30]*alphavpar[43]+alphavpar[18]*fin[42]+fin[18]*alphavpar[42]+alphavpar[17]*fin[41]+fin[17]*alphavpar[41]+alphavpar[4]*fin[40]+fin[4]*alphavpar[40]+alphavpar[31]*fin[39]+fin[31]*alphavpar[39]+alphavpar[25]*fin[38]+fin[25]*alphavpar[38]+alphavpar[24]*fin[37]+fin[24]*alphavpar[37]+alphavpar[9]*fin[36]+fin[9]*alphavpar[36]+alphavpar[29]*fin[35]+fin[29]*alphavpar[35]+alphavpar[28]*fin[34]+fin[28]*alphavpar[34]+alphavpar[15]*fin[33]+fin[15]*alphavpar[33]+alphavpar[23]*fin[32]+fin[23]*alphavpar[32])+0.6846531968814573*(alphavpar[8]*fin[31]+fin[8]*alphavpar[31]+alphavpar[16]*fin[30]+fin[16]*alphavpar[30]+alphavpar[3]*fin[29]+fin[3]*alphavpar[29]+alphavpar[2]*fin[28]+fin[2]*alphavpar[28]+alphavpar[19]*fin[27]+fin[19]*alphavpar[27]+alphavpar[22]*fin[26]+fin[22]*alphavpar[26]+alphavpar[7]*fin[25]+fin[7]*alphavpar[25]+alphavpar[6]*fin[24]+fin[6]*alphavpar[24]+alphavpar[0]*fin[23]+fin[0]*alphavpar[23]+alphavpar[11]*fin[21]+fin[11]*alphavpar[21]+alphavpar[10]*fin[20]+fin[10]*alphavpar[20]+alphavpar[14]*fin[18]+fin[14]*alphavpar[18]+alphavpar[13]*fin[17]+fin[13]*alphavpar[17]+alphavpar[1]*fin[15]+fin[1]*alphavpar[15]+alphavpar[4]*fin[12]+fin[4]*alphavpar[12]+alphavpar[5]*fin[9]+fin[5]*alphavpar[9]); - out[41] += 0.6123724356957944*(alphavpar[18]*fin[47]+fin[18]*alphavpar[47]+alphavpar[11]*fin[46]+fin[11]*alphavpar[46]+alphavpar[26]*fin[45]+fin[26]*alphavpar[45]+alphavpar[9]*fin[44]+fin[9]*alphavpar[44]+alphavpar[29]*fin[43]+fin[29]*alphavpar[43]+alphavpar[19]*fin[42]+fin[19]*alphavpar[42]+alphavpar[4]*fin[41]+fin[4]*alphavpar[41]+alphavpar[17]*fin[40]+fin[17]*alphavpar[40]+alphavpar[25]*fin[39]+fin[25]*alphavpar[39]+alphavpar[31]*fin[38]+fin[31]*alphavpar[38]+alphavpar[23]*fin[37]+fin[23]*alphavpar[37]+alphavpar[10]*fin[36]+fin[10]*alphavpar[36]+alphavpar[30]*fin[35]+fin[30]*alphavpar[35]+alphavpar[15]*fin[34]+fin[15]*alphavpar[34]+alphavpar[28]*fin[33]+fin[28]*alphavpar[33]+alphavpar[24]*fin[32]+fin[24]*alphavpar[32])+0.6846531968814573*(alphavpar[7]*fin[31]+fin[7]*alphavpar[31]+alphavpar[3]*fin[30]+fin[3]*alphavpar[30]+alphavpar[16]*fin[29]+fin[16]*alphavpar[29]+alphavpar[1]*fin[28]+fin[1]*alphavpar[28]+alphavpar[18]*fin[27]+fin[18]*alphavpar[27]+alphavpar[21]*fin[26]+fin[21]*alphavpar[26]+alphavpar[8]*fin[25]+fin[8]*alphavpar[25]+alphavpar[0]*fin[24]+fin[0]*alphavpar[24]+alphavpar[6]*fin[23]+fin[6]*alphavpar[23]+alphavpar[11]*fin[22]+fin[11]*alphavpar[22]+alphavpar[9]*fin[20]+fin[9]*alphavpar[20]+alphavpar[14]*fin[19]+fin[14]*alphavpar[19]+alphavpar[12]*fin[17]+fin[12]*alphavpar[17]+alphavpar[2]*fin[15]+fin[2]*alphavpar[15]+alphavpar[4]*fin[13]+fin[4]*alphavpar[13]+alphavpar[5]*fin[10]+fin[5]*alphavpar[10]); - out[42] += 0.6123724356957944*(alphavpar[17]*fin[47]+fin[17]*alphavpar[47]+alphavpar[10]*fin[46]+fin[10]*alphavpar[46]+alphavpar[9]*fin[45]+fin[9]*alphavpar[45]+alphavpar[26]*fin[44]+fin[26]*alphavpar[44]+alphavpar[28]*fin[43]+fin[28]*alphavpar[43]+alphavpar[4]*fin[42]+fin[4]*alphavpar[42]+alphavpar[19]*fin[41]+fin[19]*alphavpar[41]+alphavpar[18]*fin[40]+fin[18]*alphavpar[40]+alphavpar[24]*fin[39]+fin[24]*alphavpar[39]+alphavpar[23]*fin[38]+fin[23]*alphavpar[38]+alphavpar[31]*fin[37]+fin[31]*alphavpar[37]+alphavpar[11]*fin[36]+fin[11]*alphavpar[36]+alphavpar[15]*fin[35]+fin[15]*alphavpar[35]+alphavpar[30]*fin[34]+fin[30]*alphavpar[34]+alphavpar[29]*fin[33]+fin[29]*alphavpar[33]+alphavpar[25]*fin[32]+fin[25]*alphavpar[32])+0.6846531968814573*(alphavpar[6]*fin[31]+fin[6]*alphavpar[31]+alphavpar[2]*fin[30]+fin[2]*alphavpar[30]+alphavpar[1]*fin[29]+fin[1]*alphavpar[29]+alphavpar[16]*fin[28]+fin[16]*alphavpar[28]+alphavpar[17]*fin[27]+fin[17]*alphavpar[27]+alphavpar[20]*fin[26]+fin[20]*alphavpar[26]+alphavpar[0]*fin[25]+fin[0]*alphavpar[25]+alphavpar[8]*fin[24]+fin[8]*alphavpar[24]+alphavpar[7]*fin[23]+fin[7]*alphavpar[23]+alphavpar[10]*fin[22]+fin[10]*alphavpar[22]+alphavpar[9]*fin[21]+fin[9]*alphavpar[21]+alphavpar[13]*fin[19]+fin[13]*alphavpar[19]+alphavpar[12]*fin[18]+fin[12]*alphavpar[18]+alphavpar[3]*fin[15]+fin[3]*alphavpar[15]+alphavpar[4]*fin[14]+fin[4]*alphavpar[14]+alphavpar[5]*fin[11]+fin[5]*alphavpar[11]); - out[43] += 0.6123724356957944*(alphavpar[15]*fin[47]+fin[15]*alphavpar[47]+alphavpar[23]*fin[46]+fin[23]*alphavpar[46]+alphavpar[24]*fin[45]+fin[24]*alphavpar[45]+alphavpar[25]*fin[44]+fin[25]*alphavpar[44]+alphavpar[4]*fin[43]+fin[4]*alphavpar[43]+alphavpar[28]*fin[42]+fin[28]*alphavpar[42]+alphavpar[29]*fin[41]+fin[29]*alphavpar[41]+alphavpar[30]*fin[40]+fin[30]*alphavpar[40]+alphavpar[9]*fin[39]+fin[9]*alphavpar[39]+alphavpar[10]*fin[38]+fin[10]*alphavpar[38]+alphavpar[11]*fin[37]+fin[11]*alphavpar[37]+alphavpar[31]*fin[36]+fin[31]*alphavpar[36]+alphavpar[17]*fin[35]+fin[17]*alphavpar[35]+alphavpar[18]*fin[34]+fin[18]*alphavpar[34]+alphavpar[19]*fin[33]+fin[19]*alphavpar[33]+alphavpar[26]*fin[32]+fin[26]*alphavpar[32])+0.6846531968814574*(alphavpar[5]*fin[31]+fin[5]*alphavpar[31]+alphavpar[12]*fin[30]+fin[12]*alphavpar[30]+alphavpar[13]*fin[29]+fin[13]*alphavpar[29]+alphavpar[14]*fin[28]+fin[14]*alphavpar[28]+alphavpar[15]*fin[27]+fin[15]*alphavpar[27]+alphavpar[0]*fin[26]+fin[0]*alphavpar[26]+alphavpar[20]*fin[25]+fin[20]*alphavpar[25]+alphavpar[21]*fin[24]+fin[21]*alphavpar[24]+alphavpar[22]*fin[23]+fin[22]*alphavpar[23]+alphavpar[1]*fin[19]+fin[1]*alphavpar[19]+alphavpar[2]*fin[18]+fin[2]*alphavpar[18]+alphavpar[3]*fin[17]+fin[3]*alphavpar[17]+alphavpar[4]*fin[16]+fin[4]*alphavpar[16]+alphavpar[6]*fin[11]+fin[6]*alphavpar[11]+alphavpar[7]*fin[10]+fin[7]*alphavpar[10]+alphavpar[8]*fin[9]+fin[8]*alphavpar[9]); - out[44] += 0.6123724356957944*(alphavpar[11]*fin[47]+fin[11]*alphavpar[47]+alphavpar[18]*fin[46]+fin[18]*alphavpar[46]+alphavpar[19]*fin[45]+fin[19]*alphavpar[45]+alphavpar[4]*fin[44]+fin[4]*alphavpar[44]+alphavpar[25]*fin[43]+fin[25]*alphavpar[43]+alphavpar[26]*fin[42]+fin[26]*alphavpar[42]+alphavpar[9]*fin[41]+fin[9]*alphavpar[41]+alphavpar[10]*fin[40]+fin[10]*alphavpar[40]+alphavpar[29]*fin[39]+fin[29]*alphavpar[39]+alphavpar[30]*fin[38]+fin[30]*alphavpar[38]+alphavpar[15]*fin[37]+fin[15]*alphavpar[37]+alphavpar[17]*fin[36]+fin[17]*alphavpar[36]+alphavpar[31]*fin[35]+fin[31]*alphavpar[35]+alphavpar[23]*fin[34]+fin[23]*alphavpar[34]+alphavpar[24]*fin[33]+fin[24]*alphavpar[33]+alphavpar[28]*fin[32]+fin[28]*alphavpar[32])+0.6846531968814574*(alphavpar[3]*fin[31]+fin[3]*alphavpar[31]+alphavpar[7]*fin[30]+fin[7]*alphavpar[30]+alphavpar[8]*fin[29]+fin[8]*alphavpar[29]+alphavpar[0]*fin[28]+fin[0]*alphavpar[28]+alphavpar[11]*fin[27]+fin[11]*alphavpar[27]+alphavpar[14]*fin[26]+fin[14]*alphavpar[26]+alphavpar[16]*fin[25]+fin[16]*alphavpar[25]+alphavpar[1]*fin[24]+fin[1]*alphavpar[24]+alphavpar[2]*fin[23]+fin[2]*alphavpar[23]+alphavpar[18]*fin[22]+fin[18]*alphavpar[22]+alphavpar[19]*fin[21]+fin[19]*alphavpar[21]+alphavpar[4]*fin[20]+fin[4]*alphavpar[20]+alphavpar[5]*fin[17]+fin[5]*alphavpar[17]+alphavpar[6]*fin[15]+fin[6]*alphavpar[15]+alphavpar[9]*fin[13]+fin[9]*alphavpar[13]+alphavpar[10]*fin[12]+fin[10]*alphavpar[12]); - out[45] += 0.6123724356957944*(alphavpar[10]*fin[47]+fin[10]*alphavpar[47]+alphavpar[17]*fin[46]+fin[17]*alphavpar[46]+alphavpar[4]*fin[45]+fin[4]*alphavpar[45]+alphavpar[19]*fin[44]+fin[19]*alphavpar[44]+alphavpar[24]*fin[43]+fin[24]*alphavpar[43]+alphavpar[9]*fin[42]+fin[9]*alphavpar[42]+alphavpar[26]*fin[41]+fin[26]*alphavpar[41]+alphavpar[11]*fin[40]+fin[11]*alphavpar[40]+alphavpar[28]*fin[39]+fin[28]*alphavpar[39]+alphavpar[15]*fin[38]+fin[15]*alphavpar[38]+alphavpar[30]*fin[37]+fin[30]*alphavpar[37]+alphavpar[18]*fin[36]+fin[18]*alphavpar[36]+alphavpar[23]*fin[35]+fin[23]*alphavpar[35]+alphavpar[31]*fin[34]+fin[31]*alphavpar[34]+alphavpar[25]*fin[33]+fin[25]*alphavpar[33]+alphavpar[29]*fin[32]+fin[29]*alphavpar[32])+0.6846531968814574*(alphavpar[2]*fin[31]+fin[2]*alphavpar[31]+alphavpar[6]*fin[30]+fin[6]*alphavpar[30]+alphavpar[0]*fin[29]+fin[0]*alphavpar[29]+alphavpar[8]*fin[28]+fin[8]*alphavpar[28]+alphavpar[10]*fin[27]+fin[10]*alphavpar[27]+alphavpar[13]*fin[26]+fin[13]*alphavpar[26]+alphavpar[1]*fin[25]+fin[1]*alphavpar[25]+alphavpar[16]*fin[24]+fin[16]*alphavpar[24]+alphavpar[3]*fin[23]+fin[3]*alphavpar[23]+alphavpar[17]*fin[22]+fin[17]*alphavpar[22]+alphavpar[4]*fin[21]+fin[4]*alphavpar[21]+alphavpar[19]*fin[20]+fin[19]*alphavpar[20]+alphavpar[5]*fin[18]+fin[5]*alphavpar[18]+alphavpar[7]*fin[15]+fin[7]*alphavpar[15]+alphavpar[9]*fin[14]+fin[9]*alphavpar[14]+alphavpar[11]*fin[12]+fin[11]*alphavpar[12]); - out[46] += 0.6123724356957944*(alphavpar[9]*fin[47]+fin[9]*alphavpar[47]+alphavpar[4]*fin[46]+fin[4]*alphavpar[46]+alphavpar[17]*fin[45]+fin[17]*alphavpar[45]+alphavpar[18]*fin[44]+fin[18]*alphavpar[44]+alphavpar[23]*fin[43]+fin[23]*alphavpar[43]+alphavpar[10]*fin[42]+fin[10]*alphavpar[42]+alphavpar[11]*fin[41]+fin[11]*alphavpar[41]+alphavpar[26]*fin[40]+fin[26]*alphavpar[40]+alphavpar[15]*fin[39]+fin[15]*alphavpar[39]+alphavpar[28]*fin[38]+fin[28]*alphavpar[38]+alphavpar[29]*fin[37]+fin[29]*alphavpar[37]+alphavpar[19]*fin[36]+fin[19]*alphavpar[36]+alphavpar[24]*fin[35]+fin[24]*alphavpar[35]+alphavpar[25]*fin[34]+fin[25]*alphavpar[34]+alphavpar[31]*fin[33]+fin[31]*alphavpar[33]+alphavpar[30]*fin[32]+fin[30]*alphavpar[32])+0.6846531968814574*(alphavpar[1]*fin[31]+fin[1]*alphavpar[31]+alphavpar[0]*fin[30]+fin[0]*alphavpar[30]+alphavpar[6]*fin[29]+fin[6]*alphavpar[29]+alphavpar[7]*fin[28]+fin[7]*alphavpar[28]+alphavpar[9]*fin[27]+fin[9]*alphavpar[27]+alphavpar[12]*fin[26]+fin[12]*alphavpar[26]+alphavpar[2]*fin[25]+fin[2]*alphavpar[25]+alphavpar[3]*fin[24]+fin[3]*alphavpar[24]+alphavpar[16]*fin[23]+fin[16]*alphavpar[23]+alphavpar[4]*fin[22]+fin[4]*alphavpar[22]+alphavpar[17]*fin[21]+fin[17]*alphavpar[21]+alphavpar[18]*fin[20]+fin[18]*alphavpar[20]+alphavpar[5]*fin[19]+fin[5]*alphavpar[19]+alphavpar[8]*fin[15]+fin[8]*alphavpar[15]+alphavpar[10]*fin[14]+fin[10]*alphavpar[14]+alphavpar[11]*fin[13]+fin[11]*alphavpar[13]); - out[47] += 0.6123724356957944*(alphavpar[4]*fin[47]+fin[4]*alphavpar[47]+alphavpar[9]*fin[46]+fin[9]*alphavpar[46]+alphavpar[10]*fin[45]+fin[10]*alphavpar[45]+alphavpar[11]*fin[44]+fin[11]*alphavpar[44]+alphavpar[15]*fin[43]+fin[15]*alphavpar[43]+alphavpar[17]*fin[42]+fin[17]*alphavpar[42]+alphavpar[18]*fin[41]+fin[18]*alphavpar[41]+alphavpar[19]*fin[40]+fin[19]*alphavpar[40]+alphavpar[23]*fin[39]+fin[23]*alphavpar[39]+alphavpar[24]*fin[38]+fin[24]*alphavpar[38]+alphavpar[25]*fin[37]+fin[25]*alphavpar[37]+alphavpar[26]*fin[36]+fin[26]*alphavpar[36]+alphavpar[28]*fin[35]+fin[28]*alphavpar[35]+alphavpar[29]*fin[34]+fin[29]*alphavpar[34]+alphavpar[30]*fin[33]+fin[30]*alphavpar[33]+alphavpar[31]*fin[32]+fin[31]*alphavpar[32])+0.6846531968814573*(alphavpar[0]*fin[31]+fin[0]*alphavpar[31]+alphavpar[1]*fin[30]+fin[1]*alphavpar[30]+alphavpar[2]*fin[29]+fin[2]*alphavpar[29]+alphavpar[3]*fin[28]+fin[3]*alphavpar[28]+alphavpar[4]*fin[27]+fin[4]*alphavpar[27]+alphavpar[5]*fin[26]+fin[5]*alphavpar[26]+alphavpar[6]*fin[25]+fin[6]*alphavpar[25]+alphavpar[7]*fin[24]+fin[7]*alphavpar[24]+alphavpar[8]*fin[23]+fin[8]*alphavpar[23]+alphavpar[9]*fin[22]+fin[9]*alphavpar[22]+alphavpar[10]*fin[21]+fin[10]*alphavpar[21]+alphavpar[11]*fin[20]+fin[11]*alphavpar[20]+alphavpar[12]*fin[19]+fin[12]*alphavpar[19]+alphavpar[13]*fin[18]+fin[13]*alphavpar[18]+alphavpar[14]*fin[17]+fin[14]*alphavpar[17]+alphavpar[15]*fin[16]+fin[15]*alphavpar[16]); + out[4] += 0.3061862178478971*(alphavpar[16]*fin[16]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[9] += 0.3061862178478971*(alphavpar[8]*fin[16]+fin[8]*alphavpar[16]+alphavpar[3]*fin[7]+fin[3]*alphavpar[7]+alphavpar[2]*fin[6]+fin[2]*alphavpar[6]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[10] += 0.3061862178478971*(alphavpar[7]*fin[16]+fin[7]*alphavpar[16]+alphavpar[3]*fin[8]+fin[3]*alphavpar[8]+alphavpar[1]*fin[6]+fin[1]*alphavpar[6]+alphavpar[0]*fin[2]+fin[0]*alphavpar[2]); + out[11] += 0.3061862178478971*(alphavpar[6]*fin[16]+fin[6]*alphavpar[16]+alphavpar[2]*fin[8]+fin[2]*alphavpar[8]+alphavpar[1]*fin[7]+fin[1]*alphavpar[7]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); + out[15] += 0.3061862178478971*(alphavpar[16]*fin[27]+alphavpar[8]*fin[22]+alphavpar[7]*fin[21]+alphavpar[6]*fin[20]+alphavpar[3]*fin[14]+alphavpar[2]*fin[13]+alphavpar[1]*fin[12]+alphavpar[0]*fin[5]); + out[17] += 0.3061862178478971*(alphavpar[3]*fin[16]+fin[3]*alphavpar[16]+alphavpar[7]*fin[8]+fin[7]*alphavpar[8]+alphavpar[0]*fin[6]+fin[0]*alphavpar[6]+alphavpar[1]*fin[2]+fin[1]*alphavpar[2]); + out[18] += 0.3061862178478971*(alphavpar[2]*fin[16]+fin[2]*alphavpar[16]+alphavpar[6]*fin[8]+fin[6]*alphavpar[8]+alphavpar[0]*fin[7]+fin[0]*alphavpar[7]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); + out[19] += 0.3061862178478971*(alphavpar[1]*fin[16]+fin[1]*alphavpar[16]+alphavpar[0]*fin[8]+fin[0]*alphavpar[8]+alphavpar[6]*fin[7]+fin[6]*alphavpar[7]+alphavpar[2]*fin[3]+fin[2]*alphavpar[3]); + out[23] += 0.3061862178478971*(alphavpar[8]*fin[27]+alphavpar[16]*fin[22]+alphavpar[3]*fin[21]+alphavpar[2]*fin[20]+alphavpar[7]*fin[14]+alphavpar[6]*fin[13]+alphavpar[0]*fin[12]+alphavpar[1]*fin[5]); + out[24] += 0.3061862178478971*(alphavpar[7]*fin[27]+alphavpar[3]*fin[22]+alphavpar[16]*fin[21]+alphavpar[1]*fin[20]+alphavpar[8]*fin[14]+alphavpar[0]*fin[13]+alphavpar[6]*fin[12]+alphavpar[2]*fin[5]); + out[25] += 0.3061862178478971*(alphavpar[6]*fin[27]+alphavpar[2]*fin[22]+alphavpar[1]*fin[21]+alphavpar[16]*fin[20]+alphavpar[0]*fin[14]+alphavpar[8]*fin[13]+alphavpar[7]*fin[12]+alphavpar[3]*fin[5]); + out[26] += 0.3061862178478971*(alphavpar[0]*fin[16]+fin[0]*alphavpar[16]+alphavpar[1]*fin[8]+fin[1]*alphavpar[8]+alphavpar[2]*fin[7]+fin[2]*alphavpar[7]+alphavpar[3]*fin[6]+fin[3]*alphavpar[6]); + out[28] += 0.3061862178478971*(alphavpar[3]*fin[27]+alphavpar[7]*fin[22]+alphavpar[8]*fin[21]+alphavpar[0]*fin[20]+fin[14]*alphavpar[16]+alphavpar[1]*fin[13]+alphavpar[2]*fin[12]+fin[5]*alphavpar[6]); + out[29] += 0.3061862178478971*(alphavpar[2]*fin[27]+alphavpar[6]*fin[22]+alphavpar[0]*fin[21]+alphavpar[8]*fin[20]+fin[13]*alphavpar[16]+alphavpar[1]*fin[14]+alphavpar[3]*fin[12]+fin[5]*alphavpar[7]); + out[30] += 0.3061862178478971*(alphavpar[1]*fin[27]+alphavpar[0]*fin[22]+alphavpar[6]*fin[21]+alphavpar[7]*fin[20]+fin[12]*alphavpar[16]+alphavpar[2]*fin[14]+alphavpar[3]*fin[13]+fin[5]*alphavpar[8]); + out[31] += 0.3061862178478971*(alphavpar[0]*fin[27]+alphavpar[1]*fin[22]+alphavpar[2]*fin[21]+alphavpar[3]*fin[20]+fin[5]*alphavpar[16]+alphavpar[6]*fin[14]+alphavpar[7]*fin[13]+alphavpar[8]*fin[12]); + out[32] += 0.6846531968814573*(alphavpar[16]*fin[26]+alphavpar[8]*fin[19]+alphavpar[7]*fin[18]+alphavpar[6]*fin[17]+alphavpar[3]*fin[11]+alphavpar[2]*fin[10]+alphavpar[1]*fin[9]+alphavpar[0]*fin[4]); + out[33] += 0.6846531968814574*(alphavpar[8]*fin[26]+alphavpar[16]*fin[19]+alphavpar[3]*fin[18]+alphavpar[2]*fin[17]+alphavpar[7]*fin[11]+alphavpar[6]*fin[10]+alphavpar[0]*fin[9]+alphavpar[1]*fin[4]); + out[34] += 0.6846531968814574*(alphavpar[7]*fin[26]+alphavpar[3]*fin[19]+alphavpar[16]*fin[18]+alphavpar[1]*fin[17]+alphavpar[8]*fin[11]+alphavpar[0]*fin[10]+alphavpar[6]*fin[9]+alphavpar[2]*fin[4]); + out[35] += 0.6846531968814574*(alphavpar[6]*fin[26]+alphavpar[2]*fin[19]+alphavpar[1]*fin[18]+alphavpar[16]*fin[17]+alphavpar[0]*fin[11]+alphavpar[8]*fin[10]+alphavpar[7]*fin[9]+alphavpar[3]*fin[4]); + out[36] += 0.6846531968814574*(alphavpar[16]*fin[31]+alphavpar[8]*fin[30]+alphavpar[7]*fin[29]+alphavpar[6]*fin[28]+alphavpar[3]*fin[25]+alphavpar[2]*fin[24]+alphavpar[1]*fin[23]+alphavpar[0]*fin[15]); + out[37] += 0.6846531968814573*(alphavpar[3]*fin[26]+alphavpar[7]*fin[19]+alphavpar[8]*fin[18]+alphavpar[0]*fin[17]+fin[11]*alphavpar[16]+alphavpar[1]*fin[10]+alphavpar[2]*fin[9]+fin[4]*alphavpar[6]); + out[38] += 0.6846531968814573*(alphavpar[2]*fin[26]+alphavpar[6]*fin[19]+alphavpar[0]*fin[18]+alphavpar[8]*fin[17]+fin[10]*alphavpar[16]+alphavpar[1]*fin[11]+alphavpar[3]*fin[9]+fin[4]*alphavpar[7]); + out[39] += 0.6846531968814573*(alphavpar[1]*fin[26]+alphavpar[0]*fin[19]+alphavpar[6]*fin[18]+alphavpar[7]*fin[17]+fin[9]*alphavpar[16]+alphavpar[2]*fin[11]+alphavpar[3]*fin[10]+fin[4]*alphavpar[8]); + out[40] += 0.6846531968814573*(alphavpar[8]*fin[31]+alphavpar[16]*fin[30]+alphavpar[3]*fin[29]+alphavpar[2]*fin[28]+alphavpar[7]*fin[25]+alphavpar[6]*fin[24]+alphavpar[0]*fin[23]+alphavpar[1]*fin[15]); + out[41] += 0.6846531968814573*(alphavpar[7]*fin[31]+alphavpar[3]*fin[30]+alphavpar[16]*fin[29]+alphavpar[1]*fin[28]+alphavpar[8]*fin[25]+alphavpar[0]*fin[24]+alphavpar[6]*fin[23]+alphavpar[2]*fin[15]); + out[42] += 0.6846531968814573*(alphavpar[6]*fin[31]+alphavpar[2]*fin[30]+alphavpar[1]*fin[29]+alphavpar[16]*fin[28]+alphavpar[0]*fin[25]+alphavpar[8]*fin[24]+alphavpar[7]*fin[23]+alphavpar[3]*fin[15]); + out[43] += 0.6846531968814574*(alphavpar[0]*fin[26]+alphavpar[1]*fin[19]+alphavpar[2]*fin[18]+alphavpar[3]*fin[17]+fin[4]*alphavpar[16]+alphavpar[6]*fin[11]+alphavpar[7]*fin[10]+alphavpar[8]*fin[9]); + out[44] += 0.6846531968814574*(alphavpar[3]*fin[31]+alphavpar[7]*fin[30]+alphavpar[8]*fin[29]+alphavpar[0]*fin[28]+alphavpar[16]*fin[25]+alphavpar[1]*fin[24]+alphavpar[2]*fin[23]+alphavpar[6]*fin[15]); + out[45] += 0.6846531968814574*(alphavpar[2]*fin[31]+alphavpar[6]*fin[30]+alphavpar[0]*fin[29]+alphavpar[8]*fin[28]+alphavpar[1]*fin[25]+alphavpar[16]*fin[24]+alphavpar[3]*fin[23]+alphavpar[7]*fin[15]); + out[46] += 0.6846531968814574*(alphavpar[1]*fin[31]+alphavpar[0]*fin[30]+alphavpar[6]*fin[29]+alphavpar[7]*fin[28]+alphavpar[2]*fin[25]+alphavpar[3]*fin[24]+alphavpar[16]*fin[23]+alphavpar[8]*fin[15]); + out[47] += 0.6846531968814573*(alphavpar[0]*fin[31]+alphavpar[1]*fin[30]+alphavpar[2]*fin[29]+alphavpar[3]*fin[28]+alphavpar[6]*fin[25]+alphavpar[7]*fin[24]+alphavpar[8]*fin[23]+fin[15]*alphavpar[16]); return 0.; } From a37c0756b8ece2273b306b8ee8bc86b285c39036 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 7 Nov 2025 11:39:29 -0500 Subject: [PATCH 040/181] =?UTF-8?q?the=20d3d=20rt=20gk=202x2v=20test=20is?= =?UTF-8?q?=20running=20with=20the=20EM=20activated=20now=20=F0=9F=A5=81?= =?UTF-8?q?=20It=20does=20not=20change=20anything,=20takes=20111=20steps?= =?UTF-8?q?=20to=20complete=20as=20in=20the=20ES=20limit.=20The=20code=20i?= =?UTF-8?q?s=20ready=20to=20have=20real=20EM=20testcase=20now=20?= =?UTF-8?q?=F0=9F=99=82=E2=80=8D=E2=86=95=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ..._gyrokinetic_add_apardot_vol_1x1v_ser_p1.c | 2 +- ..._gyrokinetic_add_apardot_vol_1x2v_ser_p1.c | 6 +-- ..._gyrokinetic_add_apardot_vol_2x2v_ser_p1.c | 10 ++--- ..._gyrokinetic_add_apardot_vol_3x2v_ser_p1.c | 18 ++++----- .../gkyl_dg_gyrokinetic_kernels.h | 40 ++++--------------- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 20 ++++++++-- 6 files changed, 42 insertions(+), 54 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c index 3bb8a2ec69..ab4e2f0517 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double q_, const double m_, const double *apardot, +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double *vmap, const double q_, const double m_, const double *apardot, const double *fin, double* GKYL_RESTRICT out) { // q_,m_: species charge and mass. diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c index 7185f94cc0..15f1dcc074 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double q_, const double m_, const double *apardot, +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double *vmap, const double q_, const double m_, const double *apardot, const double *fin, double* GKYL_RESTRICT out) { // q_,m_: species charge and mass. @@ -8,8 +8,8 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double q_, co // out: output increment. double alphavpar[12] = {0.}; - alphavpar[0] = -((2.0*apardot[0]*q_)/m_); - alphavpar[1] = -((2.0*apardot[1]*q_)/m_); + alphavpar[0] = -((1.6329931618554527*apardot[0]*q_)/(vmap[1]*m_)); + alphavpar[1] = -((1.6329931618554527*apardot[1]*q_)/(vmap[1]*m_)); out[2] += 0.6123724356957944*(alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c index 03e7f95feb..3ea2ccf2e2 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double q_, const double m_, const double *apardot, +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double *vmap, const double q_, const double m_, const double *apardot, const double *fin, double* GKYL_RESTRICT out) { // q_,m_: species charge and mass. @@ -8,10 +8,10 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double q_, co // out: output increment. double alphavpar[24] = {0.}; - alphavpar[0] = -((2.0*apardot[0]*q_)/m_); - alphavpar[1] = -((2.0*apardot[1]*q_)/m_); - alphavpar[2] = -((2.0*apardot[2]*q_)/m_); - alphavpar[5] = -((2.0*apardot[3]*q_)/m_); + alphavpar[0] = -((1.6329931618554527*apardot[0]*q_)/(vmap[1]*m_)); + alphavpar[1] = -((1.6329931618554527*apardot[1]*q_)/(vmap[1]*m_)); + alphavpar[2] = -((1.6329931618554527*apardot[2]*q_)/(vmap[1]*m_)); + alphavpar[5] = -((1.6329931618554527*apardot[3]*q_)/(vmap[1]*m_)); out[3] += 0.4330127018922193*(alphavpar[5]*fin[5]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c index ba187efefa..9f55bf3a8e 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double q_, const double m_, const double *apardot, +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double *vmap, const double q_, const double m_, const double *apardot, const double *fin, double* GKYL_RESTRICT out) { // q_,m_: species charge and mass. @@ -8,14 +8,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double q_, co // out: output increment. double alphavpar[48] = {0.}; - alphavpar[0] = -((2.0*apardot[0]*q_)/m_); - alphavpar[1] = -((2.0*apardot[1]*q_)/m_); - alphavpar[2] = -((2.0*apardot[2]*q_)/m_); - alphavpar[3] = -((2.0*apardot[3]*q_)/m_); - alphavpar[6] = -((2.0*apardot[4]*q_)/m_); - alphavpar[7] = -((2.0*apardot[5]*q_)/m_); - alphavpar[8] = -((2.0*apardot[6]*q_)/m_); - alphavpar[16] = -((2.0*apardot[7]*q_)/m_); + alphavpar[0] = -((1.6329931618554527*apardot[0]*q_)/(vmap[1]*m_)); + alphavpar[1] = -((1.6329931618554527*apardot[1]*q_)/(vmap[1]*m_)); + alphavpar[2] = -((1.6329931618554527*apardot[2]*q_)/(vmap[1]*m_)); + alphavpar[3] = -((1.6329931618554527*apardot[3]*q_)/(vmap[1]*m_)); + alphavpar[6] = -((1.6329931618554527*apardot[4]*q_)/(vmap[1]*m_)); + alphavpar[7] = -((1.6329931618554527*apardot[5]*q_)/(vmap[1]*m_)); + alphavpar[8] = -((1.6329931618554527*apardot[6]*q_)/(vmap[1]*m_)); + alphavpar[16] = -((1.6329931618554527*apardot[7]*q_)/(vmap[1]*m_)); out[4] += 0.3061862178478971*(alphavpar[16]*fin[16]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h index 3a54018e34..e8225e1740 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h +++ b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h @@ -233,56 +233,32 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double q_, const double m_, - const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; - -GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, - const double *b_i, const double *phi, const double *apar, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p2(const double q_, const double m_, - const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double *vmap, const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double q_, const double m_, - const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; - -GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, - const double *b_i, const double *phi, const double *apar, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p2(const double q_, const double m_, - const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double *vmap, const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double q_, const double m_, - const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; - -GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p2(const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, - const double *b_i, const double *phi, const double *apar, - const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p2(const double q_, const double m_, - const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double *vmap, const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double q_, const double m_, - const double *apardot, const double *fin, double* GKYL_RESTRICT out) ; +GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double *vmap, const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out); EXTERN_C_END diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 40f820463c..0f6497ee7e 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -342,9 +342,12 @@ kernel_dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { return 0.; } - + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); return dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1( + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); @@ -360,9 +363,12 @@ kernel_dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { return 0.; } - + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); return dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1( + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); @@ -378,9 +384,12 @@ kernel_dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { return 0.; } - + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); return dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1( + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); @@ -396,9 +405,12 @@ kernel_dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { return 0.; } - + int vel_idx[2]; + for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); + long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); return dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1( + (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), gyrokinetic->charge, gyrokinetic->mass, (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); From 99e785f96ee4c25461c76a4f793ab0828b80b8d0 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 7 Nov 2025 14:36:30 -0500 Subject: [PATCH 041/181] always init m1 moment because we want to use it even if we do not set gk_field_id to be EM. --- gyrokinetic/apps/gk_species.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 9852dadecf..73a45f8738 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1597,10 +1597,8 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->anom_diff = (struct gk_anomalous_diff) { }; gk_species_anomalous_diff_init(app, gks, &gks->anom_diff); - if (app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL) { - // To compute current density for Ampere's law and current dot for Ohm's law. - gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); - } + // To compute current density for Ampere's law and current dot for Ohm's law. + gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); // Allocate data for diagnostic moments. int ndm = gks->info.num_diag_moments; @@ -2001,8 +1999,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) gkyl_array_release(s->gyro_apar); gkyl_array_release(s->gyro_apardot); - if (app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL) - gk_species_moment_release(app, &s->m1); + gk_species_moment_release(app, &s->m1); s->release_func(app, s); } From a6e7cfbbac19d9d021e6764372c72d0c71ac880f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Sat, 8 Nov 2025 16:14:49 -0500 Subject: [PATCH 042/181] fix the output of Apar and Apardot, we still have to figure how to handle optimally the flag system and the interaction between the gk_collisionless_id and the gk_field_id... --- core/zero/gkyl_eqn_type.h | 7 ++++--- gyrokinetic/apps/gyrokinetic.c | 23 ++++++++++++----------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 34ba8a6594..a3f0702158 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -37,9 +37,10 @@ enum gkyl_gkfield_id { GKYL_GK_FIELD = 0, // This is default. GKYL_GK_FIELD_BOLTZMANN = 1, // GK Boltzmann, isothermal electrons, phi = phi_sheath + (T_e/e)*ln(n_i/n_is). GKYL_GK_FIELD_ADIABATIC = 2, // GK field with an adiabatic species. - GKYL_GK_FIELD_IWL = 3, // Inner-wall limited ES. - GKYL_GK_FIELD_EM = 4, // To force electromagnetic field solve (even if no species is EM). - GKYL_GK_FIELD_EM_IWL = 5, // As above but for IWL. + GKYL_GK_FIELD_IWL = 3, // Inner-wall limited. + GKYL_GK_FIELD_ES = 4, // Electrostatic field. + GKYL_GK_FIELD_EM = 5, // To force electromagnetic field solve (even if no species is EM). + GKYL_GK_FIELD_EM_IWL = 6, // As above but for IWL. }; // Identifiers for specific field object types. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 33c75b328a..63f8d3ecac 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1153,23 +1153,24 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame } gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); - if (app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL) { - const char *fmt = "%s-apar_%d.gkyl"; - int sz = gkyl_calc_strlen(fmt, app->name, frame); - char fileNm[sz+1]; // ensures no buffer overflow - snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); + if (!(app->field->info.gkfield_id == GKYL_GK_FIELD_ES)) { + const char *fmt1 = "%s-apar_%d.gkyl"; + int sz = gkyl_calc_strlen(fmt1, app->name, frame); + char fileNm1[sz+1]; // ensures no buffer overflow + snprintf(fileNm1, sizeof fileNm1, fmt1, app->name, frame); if (app->use_gpu) { gkyl_array_copy(app->field->apar_host, app->field->apar); } - gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm); + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm1); - fmt = "%s-apardot_%d.gkyl"; - sz = gkyl_calc_strlen(fmt, app->name, frame); - snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); + const char *fmt2 = "%s-apardot_%d.gkyl"; + sz = gkyl_calc_strlen(fmt2, app->name, frame); + char fileNm2[sz+1]; // ensures no buffer overflow + snprintf(fileNm2, sizeof fileNm2, fmt2, app->name, frame); if (app->use_gpu) { gkyl_array_copy(app->field->apardot_host, app->field->apardot); } - gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm); + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm2); } gk_array_meta_release(mt); @@ -1211,7 +1212,7 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) int rank; gkyl_comm_get_rank(app->comm, &rank); - bool write_em = app->field->info.gkfield_id == GKYL_GK_FIELD_EM || app->field->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; + bool write_em = !(app->field->info.gkfield_id == GKYL_GK_FIELD_ES); if (rank == 0) { if (app->field->is_first_energy_write_call) { // Write to a new file (this ensure previous output is removed). From a644c6f62bd5154f866afa59437a1464a6dcb0af Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 10 Nov 2025 16:43:17 -0500 Subject: [PATCH 043/181] Rstore the GKYL_GK_FIELD_ES_IWL enum because GKYL_GK_FIELD_ES is not sufficient as we ES option is merged with IWL... --- core/zero/gkyl_eqn_type.h | 5 +++-- gyrokinetic/apps/gyrokinetic.c | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index a3f0702158..18225fc117 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -39,8 +39,9 @@ enum gkyl_gkfield_id { GKYL_GK_FIELD_ADIABATIC = 2, // GK field with an adiabatic species. GKYL_GK_FIELD_IWL = 3, // Inner-wall limited. GKYL_GK_FIELD_ES = 4, // Electrostatic field. - GKYL_GK_FIELD_EM = 5, // To force electromagnetic field solve (even if no species is EM). - GKYL_GK_FIELD_EM_IWL = 6, // As above but for IWL. + GKYL_GK_FIELD_ES_IWL = 5, // Electromagnetic field with inner-wall limited BCs. + GKYL_GK_FIELD_EM = 6, // To force electromagnetic field solve (even if no species is EM). + GKYL_GK_FIELD_EM_IWL = 7, // As above but for IWL. }; // Identifiers for specific field object types. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 63f8d3ecac..6a862ecbd7 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1153,7 +1153,7 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame } gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); - if (!(app->field->info.gkfield_id == GKYL_GK_FIELD_ES)) { + if (!(app->field->info.gkfield_id == GKYL_GK_FIELD_ES || app->field->info.gkfield_id == GKYL_GK_FIELD_ES_IWL)) { const char *fmt1 = "%s-apar_%d.gkyl"; int sz = gkyl_calc_strlen(fmt1, app->name, frame); char fileNm1[sz+1]; // ensures no buffer overflow @@ -1212,7 +1212,7 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) int rank; gkyl_comm_get_rank(app->comm, &rank); - bool write_em = !(app->field->info.gkfield_id == GKYL_GK_FIELD_ES); + bool write_em = !(app->field->info.gkfield_id == GKYL_GK_FIELD_ES || app->field->info.gkfield_id == GKYL_GK_FIELD_ES_IWL); if (rank == 0) { if (app->field->is_first_energy_write_call) { // Write to a new file (this ensure previous output is removed). From e1009f96c880f88ec30b28a63158e94085da8ac8 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 10 Nov 2025 17:01:35 -0500 Subject: [PATCH 044/181] Include the new GKYL_GK_FIELD_ES_IWL to the logic in field.c and update the regression test accordingly --- gyrokinetic/apps/gk_field.c | 17 ++++++++++++----- gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c | 2 +- .../creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c | 2 +- .../creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c | 2 +- 6 files changed, 17 insertions(+), 10 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 1285dd418d..f6b064d666 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -271,6 +271,8 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->info = gk->field; f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD; + + bool is_iwl = f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL; f->is_em = f->info.gkfield_id == GKYL_GK_FIELD_EM || f->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; // Ensure that if any species is electromagnetic, the field is electromagnetic. @@ -468,7 +470,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } // Potential smoothing (in z) updater - if (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + if (is_iwl) { enum gkyl_fem_parproj_bc_type fem_parproj_bc_core, fem_parproj_bc_sol; if (app->cdim == 2) { fem_parproj_bc_core = GKYL_FEM_PARPROJ_PERIODIC; @@ -750,7 +752,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Twist-and-shift boundary condition for phi and skin surface from ghost to impose phi periodicity at z=-pi. f->enforce_parallel_bc = gk_field_enforce_parallel_bc_disabled; - if (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + if (is_iwl) { gk_field_add_TSBC_and_SSFG_updaters(app,f); f->enforce_parallel_bc = gk_field_enforce_parallel_bc_enabled; } @@ -906,7 +908,11 @@ gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field) // Gather charge density into global array. // Smooth the charge density. Input is rho_c_global_dg, globally smoothed in z, // and then output should be in *local* phi_smooth. - if (field->gkfield_id == GKYL_GK_FIELD_IWL || field->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + if ( + field->gkfield_id == GKYL_GK_FIELD_IWL || + field->gkfield_id == GKYL_GK_FIELD_ES_IWL || + field->gkfield_id == GKYL_GK_FIELD_EM_IWL + ) { gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->rho_c, field->rho_c_global_dg); gkyl_fem_parproj_set_rhs(field->fem_parproj_core, field->rho_c_global_dg, field->rho_c_global_dg); gkyl_fem_parproj_solve(field->fem_parproj_core, field->rho_c_global_smooth); @@ -1142,7 +1148,8 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } } - if (app->cdim > 1 && (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL)) { + bool is_iwl = (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL); + if (app->cdim > 1 && is_iwl) { gkyl_fem_parproj_release(f->fem_parproj_core); gkyl_fem_parproj_release(f->fem_parproj_sol); } else { @@ -1150,7 +1157,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) } // Release TS BS and SSFG updater - if (f->gkfield_id == GKYL_GK_FIELD_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { + if (is_iwl) { if(app->cdim == 3) { gkyl_bc_twistshift_release(f->bc_T_LU_lo); } diff --git a/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c b/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c index 369e9e2e26..c0dd850001 100644 --- a/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c @@ -740,7 +740,7 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_IWL, + .gkfield_id = GKYL_GK_FIELD_ES_IWL, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, diff --git a/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c b/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c index 6d3ac6c818..d53d8415e3 100644 --- a/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c @@ -825,7 +825,7 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_IWL, + .gkfield_id = GKYL_GK_FIELD_ES_IWL, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, diff --git a/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c b/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c index 6358a82675..0debccf7a5 100644 --- a/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c @@ -424,7 +424,7 @@ int main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_IWL, + .gkfield_id = GKYL_GK_FIELD_ES_IWL, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c index f8e325cfb1..46a66d7af1 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c @@ -748,7 +748,7 @@ main(int argc, char **argv) // Field. struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_IWL, + .gkfield_id = GKYL_GK_FIELD_ES_IWL, .polarization_bmag = ctx.Bref, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c index 7912cb0324..6e912d8602 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c @@ -781,7 +781,7 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_IWL, + .gkfield_id = GKYL_GK_FIELD_ES_IWL, .polarization_bmag = ctx.Bref, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, From 1fd7b560a03a7f0861d15707194f4feb8001f747 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 11 Nov 2025 09:07:21 -0500 Subject: [PATCH 045/181] add a new regression test for alfven wave that tries to imitate the g2 lua test 1x1v. It is however 1x2v and nonlinear so we have to figure out still if the results are consistent. --- gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c | 351 +++++++++++++++++++++ 1 file changed, 351 insertions(+) create mode 100644 gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c diff --git a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c new file mode 100644 index 0000000000..2856df023f --- /dev/null +++ b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c @@ -0,0 +1,351 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +// Define the context of the simulation. This is basically all the globals +struct gk_app_ctx { + int cdim, vdim; // Dimensionality. + double mu0; + + // Geometry and magnetic field. + double R; // Major radius of the simulation box [m]. + double a; // Minor radius at outboard midplane [m]. + double r; // Minor radius of the simulation box [m]. + double B; // Magnetic field magnitude in the simulation box [T]. + double z_min; double z_max; + + double kperp; // Perpendicular wavenumber. + + // Plasma parameters. + double me; double qe; + double mi; double qi; + double n0; double Te0; double Ti0; + + // Grid parameters. + double kz_min; + int Nz; + int Nvpar; + int Nmu; + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + int poly_order; + double vpar_max_elc; double mu_max_elc; + double vpar_max_ion; double mu_max_ion; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +// Ion initial conditions. +void density_init_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->n0; +} +void upar_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->Ti0; +} + +// Electron initial conditions. +void density_init_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double z = xn[0]; + fout[0] = app->n0 * (1 + 1e-6*cos(app->kz_min*z)); +} +void upar_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->Te0; +} + +// Slab magnetic equilibrium. +static inline void +mapc2p(double t, const double* xc, double* GKYL_RESTRICT xp, void* ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xc[0], y = xc[1], z = xc[2]; + xp[0] = x; xp[1] = y; xp[2] = z; +} +void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = 0.0; + fout[1] = 0.0; + fout[2] = app->B; +} + +struct gk_app_ctx +create_ctx(void) +{ + int cdim = 1, vdim = 2; // Dimensionality. + // Universal constant parameters. + double eps0 = GKYL_EPSILON0, eV = GKYL_ELEMENTARY_CHARGE; + double qi = eV; // ion charge + double qe = -eV; // electron charge + double me = GKYL_ELECTRON_MASS; + double mp = GKYL_PROTON_MASS; + double mu0 = GKYL_MU0; + // Geometry, magnetic field and gradients. + double R0 = 1.313; // Major radius of the simulation box [m]. + double a = 0.4701; // Minor radius at outboard midplane [m]. + double B0 = 1.91; // Magnetic field magnitude in the simulation box [T]. + double Ti0 = 2072*eV; + double eps_n = 0.2; + // double eta_e = 2.0; // Comes from rt-alfven-p1.lua but unused. + // double eta_i = 2.5; // Comes from rt-alfven-p1.lua but unused. + double ky_rhos = 0.01; + double kz_Ln = 1.0; + double beta_hat = 10.0; // beta_e/2*m_p/m_e. + double beta_e = beta_hat*2.0*me/mp; + double tau = 1.0; // Ti/Te. + // Derived paramters. + double r0 = 0.5*a; // Minor radius of the simulation box [m]. + double R = R0 + r0; // Major radius at center of simulation box [m]. + double B = B0 * R0/R; // Magnetic field at center of simulation box [T]. + double Te0 = Ti0/tau; // Electron temperature [J]. + double n0 = beta_e*B*B/(2*mu0*Te0); // Density [m^-3]. + double vte = sqrt(Te0/me); // Electron thermal speed [m/s]. + double vti = sqrt(Ti0/mp); // Ion thermal speed [m/s]. + double c_s = sqrt(Te0/mp); // Sound speed [m/s]. + double omega_ci = fabs(qi*B/mp); // Ion cyclotron frequency [rad/s]. + double rho_s = c_s/omega_ci; // Ion sound gyroradius [m + double ky_min = ky_rhos/rho_s; // Minimum perpendicular wavenumber [1/m]. + double L_n = R*eps_n; // Density gradient scale length [m]. + double kz_min = kz_Ln/L_n; // Minimum parallel wavenumber [1/m]. + double L_parallel = 2*M_PI/kz_min; // Domain size in z [m]. + // Expected frequency from dispersion relation: + double omega = kz_min*c_s*sqrt(2/beta_e/(1+beta_hat*pow(ky_rhos,2))); + + // Velocity grid parameters. + double vpar_max_elc = 6.0*vte; // Max electron parallel velocity [m/s]. + double vpar_min_elc = -vpar_max_elc; // Min electron parallel velocity [m/s]. + double vpar_max_ion = 6.0*vti; // Max ion parallel velocity [m/s]. + double vpar_min_ion = -vpar_max_ion; // Min ion parallel + double mu_max_elc = me*pow(4*vte,2)/(2*B); // Max electron mu [J/T]. + double mu_max_ion = mp*pow(4*vti,2)/(2*B); // Max ion mu [J/T]. + + // Grid parameters + int Nz = 8; + int Nvpar = 8; + int Nmu = 6; + int poly_order = 1; + + double t_end = 2*M_PI/omega; // End time [s]. + int num_frames = 1; + double write_phase_freq = 0.1; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*100; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 50; // Maximum allowable number of consecutive small time-steps. + + struct gk_app_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .mu0 = mu0, + .R = R, + .B = B, + .z_min = -M_PI/kz_min, .z_max = M_PI/kz_min, + + .kperp = ky_min, + .kz_min = kz_min, + + .me = me, .qe = qe, + .mi = mp, .qi = qi, + .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, + + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .cells = {Nz, Nvpar, Nmu}, + .poly_order = poly_order, + .vpar_max_elc = vpar_max_elc, .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, .mu_max_ion = mu_max_ion, + + .t_end = t_end, .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + + +int main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_app_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; d Date: Wed, 12 Nov 2025 16:11:59 -0500 Subject: [PATCH 046/181] this commit is shady but it has ideas on how to step Apar correctly --- gyrokinetic/apps/gk_field.c | 68 +++++++++++++++++-- gyrokinetic/apps/gk_species.c | 2 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 36 +++++++++- gyrokinetic/apps/gyrokinetic.c | 10 +-- .../apps/gyrokinetic_multib_update_ssp_rk3.c | 14 ++-- gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 25 +++++-- 6 files changed, 132 insertions(+), 23 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index f6b064d666..b3d65eaacf 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -246,13 +246,13 @@ static void gk_field_step_apar_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp) { - gkyl_array_accumulate(out, dt, inp); + gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); // Update the smooth version of Apar (out). - gkyl_comm_array_allgather(app->comm, &app->local, &app->global, out, field->rho_c_global_dg); - gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); - gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); - gkyl_array_copy_range_to_range(field->apar_smooth, field->apar_fem, &app->local, &field->global_sub_range); + // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, out, field->rho_c_global_dg); + // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); + // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); + // gkyl_array_copy_range_to_range(field->apar_smooth, field->apar_fem, &app->local, &field->global_sub_range); } static void @@ -262,6 +262,37 @@ gk_field_step_apar_none(gkyl_gyrokinetic_app *app, struct gk_field *field, struc // do nothing } +static void +gk_field_combine_dynamic(struct gkyl_array *out, double c1, + const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, + const struct gkyl_range *rng) +{ + gkyl_array_accumulate_range(gkyl_array_set_range(out, c1, arr1, rng), + c2, arr2, rng); +} + +static void +gk_field_combine_static(struct gkyl_array *out, double c1, + const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, + const struct gkyl_range *rng) +{ + // do nothing +} + +static void +gk_field_copy_range_dynamic(struct gkyl_array *out, + const struct gkyl_array *inp, const struct gkyl_range *range) +{ + gkyl_array_copy_range(out, inp, range); +} + +static void +gk_field_copy_range_static(struct gkyl_array *out, + const struct gkyl_array *inp, const struct gkyl_range *range) +{ + // do nothing +} + // Initialize field object. struct gk_field* gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) @@ -598,11 +629,15 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->accumulate_current = gk_field_accumulate_current_dens_none; f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_none; f->step_apar = gk_field_step_apar_none; + f->combine_func = gk_field_combine_static; + f->copy_func = gk_field_copy_range_static; f->apar_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); if (f->is_em) { f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar_old = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_curr = f->apar; + f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->apar_host = f->apar; @@ -682,6 +717,8 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->accumulate_current = gk_field_accumulate_current_dens_dyn; f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_dyn; f->step_apar = gk_field_step_apar_dyn; + f->combine_func = gk_field_combine_dynamic; + f->copy_func = gk_field_copy_range_dynamic; // Factor for EM energy. f->apar_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); @@ -953,6 +990,21 @@ void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struc field->step_apar(app, field, out, a, inp); } +void +gk_field_combine(struct gk_field *field, struct gkyl_array *out, double c1, + const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, + const struct gkyl_range *rng) +{ + field->combine_func(out, c1, arr1, c2, arr2, rng); +} + +void +gk_field_copy_range(struct gk_field *field, struct gkyl_array *out, + const struct gkyl_array *inp, const struct gkyl_range *range) +{ + field->copy_func(out, inp, range); +} + void gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]) { @@ -1101,7 +1153,9 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->apardot); if (f->is_em) { gkyl_array_release(f->apar); - gkyl_array_release(f->apar_old); + gkyl_array_release(f->apar_curr); + gkyl_array_release(f->apar1); + gkyl_array_release(f->aparnew); gkyl_array_release(f->apar_fem); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 73a45f8738..91822b6b5f 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1586,7 +1586,7 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st } // We do not have FLR effects for EM yet. - gks->gyro_apar = gkyl_array_acquire(app->field->apar_smooth); + gks->gyro_apar = gkyl_array_acquire(app->field->apar_curr); gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); // Initialize the collisionless solver. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 1d20669c52..f80d0b9148 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1162,8 +1162,8 @@ struct gk_field { }; // EM GK model struct { - struct gkyl_array *apar; // Array for A_parallel (solved only in ic). - struct gkyl_array *apar_old; // Previous state of A_parallel (for update with apardot). + struct gkyl_array *apar, *apar1, *aparnew; // Array for A_parallel and RK stages. + struct gkyl_array *apar_curr; // A_parallel at current RK stage. struct gkyl_array *apar_fem; // FEM A_parallel. struct gkyl_array *apar_smooth; // Smoothed A_parallel. struct gkyl_array *apar_host; // Host copy for use IO. @@ -1253,6 +1253,8 @@ struct gk_field { void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); void (*step_apar) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); + void (*combine_func) (struct gkyl_array *out, double c1, const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2,const struct gkyl_range *rng); + void (*copy_func) (struct gkyl_array *out, const struct gkyl_array *inp, const struct gkyl_range *range); }; // Gyrokinetic object: used as opaque pointer in user code. @@ -3709,6 +3711,33 @@ void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field); void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp); +/** + * Combine for rk3 method. + * + * @param field Pointer to field. + * @param out Output array. + * @param c1 Scaling factor. + * @param arr1 Input array. + * @param c2 Scaling factor. + * @param arr2 Input array. + * @param rng Range. + */ +void gk_field_combine(struct gk_field *field, struct gkyl_array *out, double c1, + const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, + const struct gkyl_range *rng); + +/** + * Copy for rk3 method. + * + * @param field Pointer to field. + * @param out Output array. + * @param inp Input array. + * @param range Range. + */ +void gk_field_copy_range(struct gk_field *field, struct gkyl_array *out, + const struct gkyl_array *inp, const struct gkyl_range *range); + + /** * Compute electrostatic potential, phi, from charge density and * time derivative of the parallel component of the vector potential, apardot, @@ -3809,11 +3838,14 @@ void gyrokinetic_calc_field_and_apply_bc(gkyl_gyrokinetic_app* app, double tcurr * @param fin_neut Input array of neutral-species distribution functions. * @param fout_neut Output array of neutral-species distribution functions. * @param bflux_out_neut Output array of neutral-species boundary fluxes. + * @param aparin Input array for parallel component of magnetic vector potential. + * @param aparout Output array for parallel component of magnetic vector potential. * @param st Time stepping status object. */ void gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, const struct gkyl_array *fin[], struct gkyl_array *fout[], struct gkyl_array **bflux_out[], const struct gkyl_array *fin_neut[], struct gkyl_array *fout_neut[], struct gkyl_array **bflux_out_neut[], + const struct gkyl_array *aparin, struct gkyl_array *aparout, struct gkyl_update_status *st); /** diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 6a862ecbd7..8dd96a4118 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1721,7 +1721,8 @@ gkyl_gyrokinetic_app_write(gkyl_gyrokinetic_app* app, double tm, int frame) void gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, const struct gkyl_array *fin[], struct gkyl_array *fout[], struct gkyl_array **bflux_out[], - const struct gkyl_array *fin_neut[], struct gkyl_array *fout_neut[], struct gkyl_array **bflux_out_neut[], + const struct gkyl_array *fin_neut[], struct gkyl_array *fout_neut[], struct gkyl_array **bflux_out_neut[], + const struct gkyl_array *aparin, struct gkyl_array *aparout, struct gkyl_update_status *st) { double dtmin = DBL_MAX; @@ -1783,11 +1784,12 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, &app->neut_species[i].src, fin_neut[i], fout_neut[i]); } - // Compute the electromagnetic field RHS (solves Ohm's law using the full ES RHS). + // Compute Apardot (solves Ohm's law using the previously built RHS). gk_field_em_rhs(app, app->field, fout); + // Update aparout. + gk_field_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); - // Add electromagnetic contributions to the collisionless update of charged species. - // This is done after all ES+Apar terms since we need to compute M1 of fdot. + // Add Apardot contributions to the collisionless update of charged species. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; gk_species_add_apardot_rhs(app, s, fin[i], fout[i], bflux_out[i]); diff --git a/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c index 477e200cb6..2aa91e5e86 100644 --- a/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c @@ -3,6 +3,7 @@ static void gyrokinetic_multib_forward_euler(struct gkyl_gyrokinetic_multib_app* app, double tcurr, double dt, const struct gkyl_array *fin[], struct gkyl_array *fout[], + const struct gkyl_array *aparin, struct gkyl_array *aparout, struct gkyl_array **bflux_in[], struct gkyl_array **bflux_out[], const struct gkyl_array *fin_neut[], struct gkyl_array *fout_neut[], struct gkyl_array **bflux_in_neut[], struct gkyl_array **bflux_out_neut[], @@ -23,7 +24,8 @@ gyrokinetic_multib_forward_euler(struct gkyl_gyrokinetic_multib_app* app, double int li_charged = b * app->num_species; int li_neut = b * app->num_neut_species; gyrokinetic_rhs(app->singleb_apps[b], tcurr, dt, &fin[li_charged], &fout[li_charged], - &bflux_out[li_charged], &fin_neut[li_neut], &fout_neut[li_neut], &bflux_out_neut[li_neut], st); + &bflux_out[li_charged], &fin_neut[li_neut], &fout_neut[li_neut], &bflux_out_neut[li_neut], + aparin, aparout, st); dtmin = fmin(dtmin, st->dt_actual); } @@ -69,6 +71,8 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl const struct gkyl_array *fin[ns_charged * nblocks_local]; struct gkyl_array *fout[ns_charged * nblocks_local]; + const struct gkyl_array *aparin; + struct gkyl_array *aparout; struct gkyl_array **bflux_in[ns_charged * nblocks_local]; struct gkyl_array **bflux_out[ns_charged * nblocks_local]; @@ -98,6 +102,8 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl bflux_in[li_charged+i] = gks->bflux.f; bflux_out[li_charged+i] = gks->bflux.f1; } + aparin = NULL; + aparout = NULL; for (int i=0; ineut_species[i]; fin_neut[li_neut+i] = gkns->f; @@ -109,7 +115,7 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl } gyrokinetic_multib_forward_euler(app, tcurr, dt, fin, fout, bflux_in, bflux_out, - fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); + fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, aparin, aparout, &st); dt = st.dt_actual; // Subtract boundary flux f from f1 so that we only step boundary @@ -174,7 +180,7 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl } gyrokinetic_multib_forward_euler(app, tcurr+dt, dt, fin, fout, bflux_in, bflux_out, - fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); + fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, aparin, aparout, &st); if (st.dt_actual < dt) { @@ -263,7 +269,7 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl } gyrokinetic_multib_forward_euler(app, tcurr+dt/2, dt, fin, fout, bflux_in, bflux_out, - fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); + fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, aparin, aparout, &st); if (st.dt_actual < dt) { // Recalculate the field. diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index 0d4d04bbdd..8698f624ef 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -3,6 +3,7 @@ static void gyrokinetic_forward_euler(gkyl_gyrokinetic_app* app, double tcurr, double dt, const struct gkyl_array *fin[], struct gkyl_array *fout[], + const struct gkyl_array *aparin, struct gkyl_array *aparout, struct gkyl_array **bflux_in[], struct gkyl_array **bflux_out[], const struct gkyl_array *fin_neut[], struct gkyl_array *fout_neut[], struct gkyl_array **bflux_in_neut[], struct gkyl_array **bflux_out_neut[], @@ -18,7 +19,8 @@ gyrokinetic_forward_euler(gkyl_gyrokinetic_app* app, double tcurr, double dt, app->stat.nfeuler += 1; // Compute the time rate of change of the distributions, df/dt. - gyrokinetic_rhs(app, tcurr, dt, fin, fout, bflux_out, fin_neut, fout_neut, bflux_out_neut, st); + gyrokinetic_rhs(app, tcurr, dt, fin, fout, bflux_out, fin_neut, fout_neut, bflux_out_neut, + aparin, aparout, st); struct timespec wst = gkyl_wall_clock(); // Complete update of distribution functions. @@ -33,7 +35,8 @@ gyrokinetic_forward_euler(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_neut_species_step_f(gkns, fout_neut[i], dta, fin_neut[i]); gk_neut_species_bflux_accumulate(app, &gkns->bflux, bflux_out_neut[i], 1.0, bflux_in_neut[i]); } - gk_field_step_apar(app, app->field, app->field->apar, dta, app->field->apardot); + gk_field_step_apar(app, app->field, aparout, dta, aparin); + app->field->apar_curr = aparout; // Update current A_parallel. app->stat.fwd_euler_step_f_tm += gkyl_time_diff_now_sec(wst); app->stat.fwd_euler_tm += gkyl_time_diff_now_sec(wst_fe); @@ -48,6 +51,8 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) // from the actual time-step. const struct gkyl_array *fin[app->num_species]; struct gkyl_array *fout[app->num_species]; + const struct gkyl_array *aparin; + struct gkyl_array *aparout; struct gkyl_array **bflux_in[app->num_species]; struct gkyl_array **bflux_out[app->num_species]; @@ -73,6 +78,8 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) bflux_in[i] = gks->bflux.f; bflux_out[i] = gks->bflux.f1; } + aparin = app->field->apar; + aparout = app->field->apar1; for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gkns = &app->neut_species[i]; fin_neut[i] = gkns->f; @@ -88,7 +95,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) gk_species_source_adapt(app, gks, &gks->src, gks->lte.f_lte, bflux_in, tcurr); } - gyrokinetic_forward_euler(app, tcurr, dt, fin, fout, bflux_in, bflux_out, + gyrokinetic_forward_euler(app, tcurr, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); dt = st.dt_actual; @@ -139,8 +146,10 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) bflux_in_neut[i] = gkns->bflux.f1; bflux_out_neut[i] = gkns->bflux.fnew; } + aparin = app->field->apar1; + aparout = app->field->aparnew; - gyrokinetic_forward_euler(app, tcurr+dt, dt, fin, fout, bflux_in, bflux_out, + gyrokinetic_forward_euler(app, tcurr+dt, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); if (st.dt_actual < dt) { @@ -211,8 +220,10 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) bflux_in_neut[i] = gkns->bflux.f1; bflux_out_neut[i] = gkns->bflux.fnew; } + aparin = app->field->apar1; + aparout = app->field->aparnew; - gyrokinetic_forward_euler(app, tcurr+dt/2, dt, fin, fout, bflux_in, bflux_out, + gyrokinetic_forward_euler(app, tcurr+dt/2, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); if (st.dt_actual < dt) { @@ -257,6 +268,10 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) gk_neut_species_bflux_set(app, &gkns->bflux, gkns->bflux.f, 2.0/3.0, gkns->bflux.fnew); gk_neut_species_bflux_calc_voltime_integrated_mom(app, gkns, &gkns->bflux, tcurr); } + // Step A_parallel. + gk_field_combine(app->field, app->field->apar1, 1.0/3.0, app->field->apar, 2.0/3.0, app->field->aparnew, + &app->local_ext); + gk_field_copy_range(app->field, app->field->apar, app->field->apar1, &app->local_ext); app->stat.time_stepper_arithmetic_tm += gkyl_time_diff_now_sec(wst); // Apply positivity shift if requested. From 08920437bcb5b82bcfe80e53223465196702ca6a Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 13 Nov 2025 08:58:13 -0500 Subject: [PATCH 047/181] a 1/J factor was missing in the kernel, the e_3mag is now computed using sqrt(g33) and we make sure the metric coeff are deflated now. --- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 32 +++---- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 96 +++++++++---------- gyrokinetic/zero/gk_dg_geom.c | 3 +- gyrokinetic/zero/gk_geometry.c | 2 +- 4 files changed, 66 insertions(+), 67 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c index b6076faf53..70a81932f7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -72,8 +72,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -85,8 +85,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -110,8 +110,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -123,8 +123,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -148,8 +148,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -161,8 +161,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -186,8 +186,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -199,8 +199,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c index 9a79ad5431..bf11cf4394 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -78,9 +78,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -93,9 +93,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -120,9 +120,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -135,9 +135,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -162,9 +162,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -177,9 +177,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -204,9 +204,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -219,9 +219,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -246,9 +246,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -261,9 +261,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -288,9 +288,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -303,9 +303,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -330,9 +330,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -345,9 +345,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -372,9 +372,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -387,9 +387,9 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * Jc_quad/mag_e_3 * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/zero/gk_dg_geom.c b/gyrokinetic/zero/gk_dg_geom.c index 16c43be256..be48188840 100644 --- a/gyrokinetic/zero/gk_dg_geom.c +++ b/gyrokinetic/zero/gk_dg_geom.c @@ -168,8 +168,7 @@ gkyl_gk_dg_geom_populate_vol(struct gkyl_dg_geom *dg_geom, struct gkyl_gk_dg_geo gkdgv[qvloc].g_33 = global_val[5]; // g_{33} // set magnitude of e_3 - global_val = gkyl_array_cfetch(gk_geom->geo_int.dualmag_nodal, global_loc); - gkdgv[qvloc].mag_e_3 = global_val[2]; // |e^3| + gkdgv[qvloc].mag_e_3 = sqrt(gkdgv[qvloc].g_33); // |e_3| } } } diff --git a/gyrokinetic/zero/gk_geometry.c b/gyrokinetic/zero/gk_geometry.c index 55e5c0efb8..3a7ce6716b 100644 --- a/gyrokinetic/zero/gk_geometry.c +++ b/gyrokinetic/zero/gk_geometry.c @@ -373,7 +373,7 @@ gkyl_gk_geometry_deflate(const struct gk_geometry* up_3d, struct gkyl_gk_geometr gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.B3_nodal, up->geo_int.B3_nodal, 1); gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.bmag_nodal, up->geo_int.bmag_nodal, 1); gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.dualcurlbhat_nodal, up->geo_int.dualcurlbhat_nodal, 3); - gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.dualmag_nodal, up->geo_int.dualmag_nodal, 3); + gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.g_ij_nodal, up->geo_int.g_ij_nodal, 3); gkyl_deflate_geo_release(deflator); if (up->grid.ndim==1) { From ef81b69e00405c02a034880015bfee958693a62b Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 13 Nov 2025 13:31:41 -0500 Subject: [PATCH 048/181] introduce apar_curr which is the current RK stage version of apar and should be used in species->gyro_apar. Also fix array allocation errors when ES. --- gyrokinetic/apps/gk_field.c | 10 +++++----- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 -- gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 6 ++++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index b3d65eaacf..c8a4463597 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -631,11 +631,10 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->step_apar = gk_field_step_apar_none; f->combine_func = gk_field_combine_static; f->copy_func = gk_field_copy_range_static; - f->apar_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_curr = f->apar; if (f->is_em) { - f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar_curr = f->apar; f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); @@ -1011,6 +1010,7 @@ gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_a struct timespec wst = gkyl_wall_clock(); field->accumulate_current_dot(app, field, rhs_in); field->ohm_solve(app, field); + gkyl_array_clear(field->apardot, 0.0); app->stat.field_tm += gkyl_time_diff_now_sec(wst); } @@ -1149,11 +1149,11 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->phi_smooth); // We need at least these two arrays even in ES case (kept 0). - gkyl_array_release(f->apar_smooth); + gkyl_array_release(f->apar); gkyl_array_release(f->apardot); + gkyl_array_release(f->apar_curr); if (f->is_em) { gkyl_array_release(f->apar); - gkyl_array_release(f->apar_curr); gkyl_array_release(f->apar1); gkyl_array_release(f->aparnew); gkyl_array_release(f->apar_fem); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index f80d0b9148..fe304c66b8 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1165,7 +1165,6 @@ struct gk_field { struct gkyl_array *apar, *apar1, *aparnew; // Array for A_parallel and RK stages. struct gkyl_array *apar_curr; // A_parallel at current RK stage. struct gkyl_array *apar_fem; // FEM A_parallel. - struct gkyl_array *apar_smooth; // Smoothed A_parallel. struct gkyl_array *apar_host; // Host copy for use IO. struct gkyl_array *apardot; // Array for d(A_parallel)/dt (solved through Ohm's law). struct gkyl_array *apardot_host; // Host copy for use IO. @@ -3700,7 +3699,6 @@ void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field); /** * Step the parallel component of the magnetic vector potential, apar, forward in time. - * Also update apar_smooth used in the GK characteristics. * * @param app gyrokinetic app object. * @param field Pointer to field. diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index 8698f624ef..f1df287b23 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -36,7 +36,6 @@ gyrokinetic_forward_euler(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_neut_species_bflux_accumulate(app, &gkns->bflux, bflux_out_neut[i], 1.0, bflux_in_neut[i]); } gk_field_step_apar(app, app->field, aparout, dta, aparin); - app->field->apar_curr = aparout; // Update current A_parallel. app->stat.fwd_euler_step_f_tm += gkyl_time_diff_now_sec(wst); app->stat.fwd_euler_tm += gkyl_time_diff_now_sec(wst_fe); @@ -80,6 +79,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar; aparout = app->field->apar1; + app->field->apar_curr = app->field->apar; // This is the A_parallel used in the species gyro_apar. for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gkns = &app->neut_species[i]; fin_neut[i] = gkns->f; @@ -148,6 +148,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; + app->field->apar_curr = app->field->apar1; // This is the A_parallel used in the species gyro_apar. gyrokinetic_forward_euler(app, tcurr+dt, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); @@ -186,6 +187,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) gk_neut_species_combine(gkns, gkns->f1, 3.0/4.0, gkns->f, 1.0/4.0, gkns->fnew, &gkns->local_ext); gk_neut_species_bflux_set(app, &gkns->bflux, gkns->bflux.f1, 1.0/4.0, gkns->bflux.fnew); } + gk_field_combine(app->field, app->field->apar1, 3.0/4.0, app->field->apar, 1.0/4.0, app->field->aparnew, &app->local_ext); app->stat.time_stepper_arithmetic_tm += gkyl_time_diff_now_sec(wst); // Compute the fields and apply BCs. @@ -222,6 +224,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; + app->field->apar_curr = app->field->apar1; // This is the A_parallel used in the species gyro_apar. gyrokinetic_forward_euler(app, tcurr+dt/2, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); @@ -259,7 +262,6 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) gk_species_bflux_set(app, &gks->bflux, gks->bflux.f, 2.0/3.0, gks->bflux.fnew); gk_species_bflux_calc_voltime_integrated_mom(app, gks, &gks->bflux, tcurr); } - for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gkns = &app->neut_species[i]; gk_neut_species_combine(gkns, gkns->f1, 1.0/3.0, gkns->f, 2.0/3.0, gkns->fnew, &gkns->local_ext); From 846f63fe13066ea6aa39b32fb521f9f73237a912 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 13 Nov 2025 13:31:54 -0500 Subject: [PATCH 049/181] typo in the new signature of the euler stepping method --- gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c index 2aa91e5e86..904c2ea035 100644 --- a/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_multib_update_ssp_rk3.c @@ -114,8 +114,8 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl } } - gyrokinetic_multib_forward_euler(app, tcurr, dt, fin, fout, bflux_in, bflux_out, - fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, aparin, aparout, &st); + gyrokinetic_multib_forward_euler(app, tcurr, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, + fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); dt = st.dt_actual; // Subtract boundary flux f from f1 so that we only step boundary @@ -179,8 +179,8 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl } } - gyrokinetic_multib_forward_euler(app, tcurr+dt, dt, fin, fout, bflux_in, bflux_out, - fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, aparin, aparout, &st); + gyrokinetic_multib_forward_euler(app, tcurr+dt, dt, fin, fout, aparin, aparout, + bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); if (st.dt_actual < dt) { @@ -268,8 +268,8 @@ gyrokinetic_multib_update_ssp_rk3(struct gkyl_gyrokinetic_multib_app* app, doubl } } - gyrokinetic_multib_forward_euler(app, tcurr+dt/2, dt, fin, fout, bflux_in, bflux_out, - fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, aparin, aparout, &st); + gyrokinetic_multib_forward_euler(app, tcurr+dt/2, dt, fin, fout, aparin, aparout, + bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); if (st.dt_actual < dt) { // Recalculate the field. From 5293f642a1466850f4ee13ec3da6c027a8bf1fd1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 13 Nov 2025 13:35:09 -0500 Subject: [PATCH 050/181] remove a debugging clear line --- gyrokinetic/apps/gk_field.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index c8a4463597..eeaca95cb2 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -1010,7 +1010,6 @@ gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_a struct timespec wst = gkyl_wall_clock(); field->accumulate_current_dot(app, field, rhs_in); field->ohm_solve(app, field); - gkyl_array_clear(field->apardot, 0.0); app->stat.field_tm += gkyl_time_diff_now_sec(wst); } From b49ebf86b4947e2d16b561efe1cbc5f65d13e464 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 14 Nov 2025 08:57:42 -0500 Subject: [PATCH 051/181] The kinetic alfven wave test is almost working but the frequency of the wave is not scaling as expected (too fast) and i see a weird sawtooth pattern that pollutes the moments, and this even in the main branch. Here are the changes: - The 1x Ohm's law is done with a weak division now (allow discontinuity which is necessary to have the cancellation -dphidz-apardot=0) - The gk_species_collisionless_add_apardot_rhs now errase the fluxes before adding only the apardot contribution. This must be done in order to avoid double counting the surface term in the hyper_dg updater. - The boundary fluxes are computed before adding the apardot term, which is fine since Apardot leads a force, so no contribution to configuration space advection. --- gyrokinetic/apps/gk_field.c | 35 +++++++-------------- gyrokinetic/apps/gk_species_collisionless.c | 6 ++-- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 4 +-- gyrokinetic/apps/gyrokinetic.c | 14 ++++----- 4 files changed, 23 insertions(+), 36 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index eeaca95cb2..826965c64e 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -184,7 +184,7 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ * * (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) dApar/dt = sum_s q_s int dv vpar d/dt(F_s) * - * The first parenthesis is computed in dApartdtSlvr_lhs_factor_global. The right hand side is in currentDensdot_global. + * The first parenthesis is computed in dApartdtSlvr_lhs_factor_global. The right hand side is in currentDensdot. */ static void gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ @@ -193,19 +193,11 @@ gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ // Compute the new dApartdtSlvr_kSq (= k_perp^2/mu_0 + sum_s q_s^2 n_s/m_s) gkyl_array_set(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq); gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->lapWeightAmpere, &app->local); - gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->dApartdtSlvr_lhs_factor, field->dApartdtSlvr_lhs_factor_global); - - gkyl_fem_parproj_release(field->fem_apardot_parproj); - field->fem_apardot_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, - field->fem_parproj_ampere_bc, field->dApartdtSlvr_lhs_factor_global, 0, app->use_gpu); - - gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->currentDensdot, field->currentDensdot_global); - - gkyl_fem_parproj_set_rhs(field->fem_apardot_parproj, field->currentDensdot_global, field->currentDensdot_global); - gkyl_fem_parproj_solve(field->fem_apardot_parproj, field->phi_fem); - - gkyl_array_copy_range_to_range(field->apardot, field->phi_fem, &app->local, &field->global_sub_range); + // Weak division method dApar/dt = sum_s q_s int dv vpar d/dt(F_s) / ( (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) ) + gkyl_dg_div_op_range(field->div_mem, app->basis, 0, field->apardot, 0, field->currentDensdot, + 0, field->dApartdtSlvr_lhs_factor, &app->local); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -248,11 +240,11 @@ gk_field_step_apar_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, struct { gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); - // Update the smooth version of Apar (out). + // Smooth apar // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, out, field->rho_c_global_dg); // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); - // gkyl_array_copy_range_to_range(field->apar_smooth, field->apar_fem, &app->local, &field->global_sub_range); + // gkyl_array_copy_range_to_range(out, field->apar_fem, &app->local, &field->global_sub_range); } static void @@ -634,6 +626,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_curr = f->apar; + f->div_mem = NULL; if (f->is_em) { f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); @@ -653,9 +646,9 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) if (app->cdim == 1) { f->currentDens_global = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); - f->currentDensdot_global = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->dApartdtSlvr_lhs_factor = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->dApartdtSlvr_lhs_factor_global = mkarr(app->use_gpu, f->dApartdtSlvr_lhs_factor->ncomp, app->global_ext.volume); + f->div_mem = app->use_gpu? gkyl_dg_bin_op_mem_cu_dev_new(app->local.volume, app->basis.num_basis) + : gkyl_dg_bin_op_mem_new(app->local.volume, app->basis.num_basis); // Need to set weight to kperpsq*polarizationWeight for use in potential smoothing. gkyl_array_copy(f->lapWeightAmpere, app->gk_geom->geo_int.jacobgeo); @@ -668,10 +661,6 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, f->fem_parproj_ampere_bc, f->lapWeightAmpere, 0, app->use_gpu); - // Declare a dummy solver for d(Apar)/dt (will be updated at each time step). - f->fem_apardot_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, - f->fem_parproj_ampere_bc, f->dApartdtSlvr_kSq, 0, app->use_gpu); - f->ohm_solve = gk_field_ohm_solve_1x; f->ampere_solve = gk_field_ampere_solve_1x; } else if (app->cdim > 1) { @@ -1164,13 +1153,11 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) if (app->cdim > 1) { gkyl_fem_poisson_perp_release(f->fem_apar_solver); gkyl_fem_poisson_perp_release(f->fem_apardot_solver); + gkyl_dg_bin_op_mem_release(f->div_mem); } else { gkyl_array_release(f->currentDens_global); - gkyl_array_release(f->currentDensdot_global); gkyl_array_release(f->dApartdtSlvr_lhs_factor); - gkyl_array_release(f->dApartdtSlvr_lhs_factor_global); - gkyl_fem_parproj_release(f->fem_apardot_parproj); } gkyl_fem_parproj_release(f->fem_apar_parproj); if (app->use_gpu) { diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index f583348e80..c487516be7 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -49,12 +49,14 @@ static void gk_species_collisionless_add_apardot_rhs_enabled(gkyl_gyrokinetic_ap { struct timespec wst = gkyl_wall_clock(); - // Add Apardot surface flux contribution to RHS + // First remove the current ES+Apar contribution from the flux_surf array. + // Otherwise it will be counted twice in the gkyl_dg update. + gkyl_array_clear(gkcls->flux_surf, 0.0); gkyl_gk_collisionless_flux_surf(gkcls->add_apardot_surf_flux_op, &app->local, &species->local, &app->local_ext, &species->local_ext, species->gyro_phi, species->gyro_apar, fin, gkcls->flux_surf, species->cflrate); - // Advance the rhs adding only the Apardot volume contribution + // Advance the rhs adding only the Apardot volume contribution. gkyl_dg_updater_gyrokinetic_advance(gkcls->add_apardot_slvr, &species->local, fin, species->cflrate, rhs); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index fe304c66b8..3b9cc6119d 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1171,14 +1171,12 @@ struct gk_field { struct gkyl_array *currentDens; // Current density. struct gkyl_array *currentDens_global; // Current density. struct gkyl_array *currentDensdot; // Time derivative of current density. - struct gkyl_array *currentDensdot_global; // Time derivative of current density (accross all MPI ranks). struct gkyl_array *dApartdtSlvr_kSq; // Contains sum_s q_s^2/m_s n_s. struct gkyl_array *dApartdtSlvr_lhs_factor; // Contains kperp^2/mu_0 + sum_s q_s^2/m_s n_s for 1D Ohm solve. - struct gkyl_array *dApartdtSlvr_lhs_factor_global; // Contains kperp^2/mu_0 + sum_s q_s^2/m_s n_s for 1D Ohm solve. struct gkyl_array *dApartdtSlvr_rhs; // Contains sum_s q_s int dv vpar d/dt(F_s)*. + gkyl_dg_bin_op_mem *div_mem; // Memory for div operation in 1x Ohm's law. struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0). struct gkyl_fem_parproj *fem_apar_parproj; // FEM smoother for projecting Apar onto continuous FEM basis - struct gkyl_fem_parproj *fem_apardot_parproj; // FEM smoother for projecting d(Apar)/dt onto continuous FEM basis struct gkyl_fem_poisson_perp *fem_apar_solver; // Solver for IC Apar. struct gkyl_fem_poisson_perp *fem_apardot_solver; // Solver for d(Apar)/dt. struct gkyl_poisson_bc ampere_bcs; // BCs for Apar and d(Apar)/dt. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 8dd96a4118..e26a5b6b0a 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1153,7 +1153,7 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame } gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); - if (!(app->field->info.gkfield_id == GKYL_GK_FIELD_ES || app->field->info.gkfield_id == GKYL_GK_FIELD_ES_IWL)) { + if (app->field->is_em) { const char *fmt1 = "%s-apar_%d.gkyl"; int sz = gkyl_calc_strlen(fmt1, app->name, frame); char fileNm1[sz+1]; // ensures no buffer overflow @@ -1212,7 +1212,7 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) int rank; gkyl_comm_get_rank(app->comm, &rank); - bool write_em = !(app->field->info.gkfield_id == GKYL_GK_FIELD_ES || app->field->info.gkfield_id == GKYL_GK_FIELD_ES_IWL); + bool write_em = app->field->is_em; if (rank == 0) { if (app->field->is_first_energy_write_call) { // Write to a new file (this ensure previous output is removed). @@ -1767,7 +1767,8 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; gk_species_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); - } + gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); +} for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gk_ns = &app->neut_species[i]; double dt1 = gk_neut_species_rhs(app, gk_ns, fin_neut[i], fout_neut[i], bflux_out_neut[i]); @@ -1791,10 +1792,9 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, // Add Apardot contributions to the collisionless update of charged species. for (int i=0; inum_species; ++i) { - struct gk_species *s = &app->species[i]; - gk_species_add_apardot_rhs(app, s, fin[i], fout[i], bflux_out[i]); - gk_species_update_bflux(app, s, fin[i], fout[i], bflux_out[i]); - double dt1 = gk_species_get_cfl(app, s, fin[i], fout[i], bflux_out[i]); + struct gk_species *gk_s = &app->species[i]; + gk_species_add_apardot_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); + double dt1 = gk_species_get_cfl(app, gk_s, fin[i], fout[i], bflux_out[i]); dtmin = fmin(dtmin, dt1); } From 38ffe420c48ca3d8419c31836c4f4232418bb658 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Fri, 14 Nov 2025 11:29:01 -0800 Subject: [PATCH 052/181] the alfven test is still producing the wrong physics but it can do it on GPU now \o/ --- gyrokinetic/zero/dg_gyrokinetic.c | 2 +- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 25 +++++-- gyrokinetic/zero/gk_collisionless_flux.c | 4 +- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 73 +++++++++++-------- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 9 ++- .../zero/gkyl_gk_collisionless_flux_priv.h | 4 +- 6 files changed, 71 insertions(+), 46 deletions(-) diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 9eaa0b9903..4bd6a18884 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -54,7 +54,7 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_dg_gyrokinetic_cu_dev_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, no_by, gk_geom, vel_map); + charge, mass, skip_cell_threshold, collless_type, only_apardot, gk_geom, vel_map); #endif struct dg_gyrokinetic *gyrokinetic = gkyl_malloc(sizeof(struct dg_gyrokinetic)); diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 2aa30eac05..809ef4d175 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -37,7 +37,8 @@ gkyl_gyrokinetic_set_auxfields_cu(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_ // Doing function pointer stuff in here avoids troublesome cudaMemcpyFromSymbol __global__ static void dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_basis_type b_type, - int cv_index, int cdim, int vdim, int poly_order, const bool no_by) + int cv_index, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type collless_type, + bool only_apardot) { gyrokinetic->auxfields.flux_surf = 0; gyrokinetic->auxfields.phi = 0; @@ -49,6 +50,8 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas gyrokinetic->eqn.boundary_diag_term = boundary_diag; const gkyl_dg_gyrokinetic_vol_kern_list *vol_kernels, *vol_no_by_kernels; + const gkyl_dg_gyrokinetic_vol_add_apar_kern_list *vol_add_apar_kernels; + const gkyl_dg_gyrokinetic_vol_kern_list *vol_add_apardot_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_x_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_y_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_z_kernels; @@ -61,6 +64,8 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas switch (b_type) { case GKYL_BASIS_MODAL_SERENDIPITY: vol_kernels = ser_vol_kernels; + vol_add_apar_kernels = ser_add_apar_vol_kernels; + vol_add_apardot_kernels = ser_add_apardot_vol_kernels; surf_x_kernels = ser_surf_x_kernels; surf_y_kernels = ser_surf_y_kernels; surf_z_kernels = ser_surf_z_kernels; @@ -79,13 +84,19 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas break; } - if (no_by) { + if (collless_type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { gyrokinetic->eqn.vol_term = vol_no_by_kernels[cv_index].kernels[poly_order]; } else { - gyrokinetic->eqn.vol_term = vol_kernels[cv_index].kernels[poly_order]; + if (only_apardot) + gyrokinetic->eqn.vol_term = vol_add_apardot_kernels[cv_index].kernels[poly_order]; + else + gyrokinetic->eqn.vol_term = vol_kernels[cv_index].kernels[poly_order]; } + gyrokinetic->vol_add_apar_term = collless_type == GKYL_GK_COLLISIONLESS_EM || GKYL_GK_COLLISIONLESS_EM_BPERP ? + vol_add_apar_kernels[cv_index].kernels[poly_order] : dg_gyrokinetic_vol_return_zero; + gyrokinetic->surf[0] = surf_x_kernels[cv_index].kernels[poly_order]; if (cdim>1) gyrokinetic->surf[1] = surf_y_kernels[cv_index].kernels[poly_order]; @@ -105,8 +116,8 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_cell_threshold, const bool no_by, - const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) + const double charge, const double mass, double skip_cell_threshold, enum gkyl_gk_collisionless_type collless_type, + const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) { struct dg_gyrokinetic *gyrokinetic = (struct dg_gyrokinetic*) gkyl_malloc(sizeof(*gyrokinetic)); @@ -144,7 +155,7 @@ gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gky gkyl_cu_memcpy(gyrokinetic_cu, gyrokinetic, sizeof(struct dg_gyrokinetic), GKYL_CU_MEMCPY_H2D); dg_gyrokinetic_set_cu_dev_ptrs<<<1,1>>>(gyrokinetic_cu, cbasis->b_type, cv_index[cdim].vdim[vdim], - cdim, vdim, poly_order, no_by); + cdim, vdim, poly_order, collless_type, only_apardot); // set parent on_dev pointer gyrokinetic->eqn.on_dev = &gyrokinetic_cu->eqn; @@ -154,4 +165,4 @@ gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gky gyrokinetic->vel_map = vel_map_ho; return &gyrokinetic->eqn; -} +} \ No newline at end of file diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 120323e373..bf54af5c24 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -25,7 +25,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_gk_collisionless_flux_cu_dev_new(phase_grid, conf_basis, phase_basis, - charge, mass, no_by, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); + charge, mass, type, only_apardot, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); #endif gkyl_gk_collisionless_flux *up = gkyl_malloc(sizeof(gkyl_gk_collisionless_flux)); @@ -96,7 +96,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, #ifdef GKYL_HAVE_CUDA if (gkyl_array_is_cu_dev(flux_surf)) { return gkyl_gk_collisionless_flux_surf_cu(up, conf_range, phase_range, - conf_ext_range, phase_ext_range, phi, fin, flux_surf, cflrate); + conf_ext_range, phase_ext_range, phi, apar, fin, flux_surf, cflrate); } #endif int pdim = up->pdim; diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index 21a88add72..12267a1d4d 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -18,7 +18,7 @@ __global__ void gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux *up, struct gkyl_range conf_range, struct gkyl_range phase_range, struct gkyl_range conf_ext_range, struct gkyl_range phase_ext_range, const struct gkyl_array *phi, - const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) + const struct gkyl_array *apar, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) { int pdim = up->pdim; int cdim = up->cdim; @@ -47,6 +47,7 @@ gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux const double *bmag_d = (const double*) gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = (const double*) gkyl_array_cfetch(phi, loc_conf); + const double *apar_d = (const double*) gkyl_array_cfetch(apar, loc_conf); const double *vmap_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -70,11 +71,11 @@ gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux if (idx[dir] == phase_range.lower[dir]) { // Lower domain/block boundary. cflrate_d[0] += up->flux_surf_edge_lo[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); } else { // Interior, lower cell surface. cflrate_d[0] += up->flux_surf[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); } // If the phase space index is at the local configuration space upper value, we @@ -100,7 +101,7 @@ gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux double* flux_surf_ext_d = (double*) gkyl_array_fetch(flux_surf, loc_phase_ext); cflrate_ext_d[0] = up->flux_surf_edge_up[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, fL, fR, flux_surf_ext_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_ext_d); } } } @@ -110,7 +111,7 @@ __global__ void gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_flux *up, struct gkyl_range conf_range, struct gkyl_range phase_range, struct gkyl_range conf_ext_range, struct gkyl_range phase_ext_range, struct gkyl_range vpar_range, - const struct gkyl_array *phi, const struct gkyl_array *fin, + const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) { int pdim = up->pdim; @@ -141,6 +142,7 @@ gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_ const double *bmag_d = (const double*) gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = (const double*) gkyl_array_cfetch(phi, loc_conf); + const double *apar_d = (const double*) gkyl_array_cfetch(apar, loc_conf); const double *vmap_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -166,7 +168,7 @@ gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_ cflrate_d[0] += up->flux_surfvpar[0](xc, up->phase_grid.dx, vpL, vpR, vmap_d, vmapSq_d, up->charge, up->mass, - dgv, gkdgv, bmag_d, phi_d, fL, fR, flux_surf_d); + dgv, gkdgv, bmag_d, phi_d, apar_d, fL, fR, flux_surf_d); } } @@ -174,10 +176,10 @@ gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, const struct gkyl_array *phi, - const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate) + const struct gkyl_array *apar, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate) { gkyl_gk_collisionless_flux_surf_conf_cu_kernel<<volume, GKYL_DEFAULT_NUM_THREADS>>>(up->on_dev, - *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, phi->on_dev, fin->on_dev, + *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, phi->on_dev, apar->on_dev, fin->on_dev, flux_surf->on_dev, cflrate->on_dev); struct gkyl_range vpar_range; @@ -190,7 +192,7 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, sublower[up->cdim] += 1; gkyl_sub_range_init(&vpar_range, phase_ext_range, sublower, subupper); gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel<<>>(up->on_dev, - *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, vpar_range, phi->on_dev, fin->on_dev, + *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, vpar_range, phi->on_dev, apar->on_dev, fin->on_dev, flux_surf->on_dev, cflrate->on_dev); } @@ -199,36 +201,46 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, // Doing function pointer stuff in here avoids troublesome cudaMemcpyFromSymbol __global__ static void gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, - int cdim, int vdim, int poly_order, const bool no_by, + bool em, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, bool only_apardot, const enum gkyl_gyrokinetic_bc_type *bctype_conf) { - if (no_by) { + if (only_apardot){ + // If we only add Apardot terms to the flux, the only non zero kernel is the vpar one. for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + up->flux_surf[d] = gk_collisionless_flux_surf_return_zero; + up->flux_surf_edge_lo[d] = gk_collisionless_flux_surf_return_zero; + up->flux_surf_edge_up[d] = gk_collisionless_flux_surf_return_zero; + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); } else { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + if (type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); + } else { // The Apar term is included in the kernels. If we are ES, Apar=0. + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); + } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); } } gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, const bool no_by, + const double charge, const double mass, enum gkyl_gk_collisionless_type type, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf) @@ -245,6 +257,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, up->charge = charge; up->mass = mass; + int em = (type == GKYL_GK_COLLISIONLESS_EM || type == GKYL_GK_COLLISIONLESS_EM_BPERP) ? 1 : 0; // Acquire pointers to on_dev objects so memcpy below copies those too. struct gk_geometry *geom_ho = gkyl_gk_geometry_acquire(gk_geom); @@ -266,7 +279,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, struct gkyl_gk_collisionless_flux *up_cu = (struct gkyl_gk_collisionless_flux*) gkyl_cu_malloc(sizeof(*up_cu)); gkyl_cu_memcpy(up_cu, up, sizeof(gkyl_gk_collisionless_flux), GKYL_CU_MEMCPY_H2D); - gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, cdim, vdim, poly_order, no_by, bctype_conf_dev); + gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, em, cdim, vdim, poly_order, type, only_apardot, bctype_conf_dev); gkyl_cu_free(bctype_conf_dev); @@ -280,4 +293,4 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, up->vel_map = vel_map_ho; return up; -} +} \ No newline at end of file diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 0f6497ee7e..9a14eb15dd 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -429,8 +429,9 @@ static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_apardot_vol_kernels[] = { }; // To turn off EM effects: -#include -GKYL_CU_DH double dg_gyrokinetic_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, +GKYL_CU_DH +static double +dg_gyrokinetic_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) { @@ -674,8 +675,8 @@ boundary_diag(const struct gkyl_dg_eqn *eqn, */ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_if_smaller_than, const bool no_by, - const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); + const double charge, const double mass, double skip_if_smaller_than, enum gkyl_gk_collisionless_type collless_type, + const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); /** * CUDA device function to set the auxiliary fields (e.g. geometry & EM fields) diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index a8717a6062..c1d2a78ef1 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -767,7 +767,7 @@ choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(int cdim, int vdim, int struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - double charge, double mass, const bool no_by, + double charge, double mass, enum gkyl_gk_collisionless_type type, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf); @@ -778,5 +778,5 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, const struct gkyl_array *phi, - const struct gkyl_array* fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate); + const struct gkyl_array *apar, const struct gkyl_array* fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate); #endif From 5b8708dd1332df4d9d69d247f5b35230267ea4a0 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 14 Nov 2025 17:23:45 -0500 Subject: [PATCH 053/181] =?UTF-8?q?It=20is=20always=20one=20typo=20away=20?= =?UTF-8?q?=F0=9F=A4=AA=20alfven=20rt=20test=20now=20retrieves=20the=20cor?= =?UTF-8?q?rect=20frequency=20for=20betahat=3D1.0=20and=200.1,=20with=20ky?= =?UTF-8?q?=3D0.05=20and=200.01.=20However,=20I=20find=20spurious=20result?= =?UTF-8?q?s=20for=20betahat=3D10.0.=20Maybe=20the=20MHD=20limit=20deserve?= =?UTF-8?q?s=20careful=20resolution=20setting=20idk.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gyrokinetic/apps/gk_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 826965c64e..2ad92f914a 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -652,7 +652,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Need to set weight to kperpsq*polarizationWeight for use in potential smoothing. gkyl_array_copy(f->lapWeightAmpere, app->gk_geom->geo_int.jacobgeo); - gkyl_array_scale(f->lapWeightAmpere, f->info.kperpSq); + gkyl_array_scale(f->lapWeightAmpere, f->info.kperpSq/f->info.mu0); f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; for (int d=0; dnum_periodic_dir; ++d) From 7b2bae309a41ba3992da1b65a064acf53893b7c2 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 1 Dec 2025 16:27:06 -0500 Subject: [PATCH 054/181] The weak division memory was not released properly for Ohm's law in 1x --- gyrokinetic/apps/gk_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 2ad92f914a..89d0bfec2e 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -1153,11 +1153,11 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) if (app->cdim > 1) { gkyl_fem_poisson_perp_release(f->fem_apar_solver); gkyl_fem_poisson_perp_release(f->fem_apardot_solver); - gkyl_dg_bin_op_mem_release(f->div_mem); } else { gkyl_array_release(f->currentDens_global); gkyl_array_release(f->dApartdtSlvr_lhs_factor); + gkyl_dg_bin_op_mem_release(f->div_mem); } gkyl_fem_parproj_release(f->fem_apar_parproj); if (app->use_gpu) { From be8cb11bb61bddbf352e6c9bd58ce976615786b0 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 2 Dec 2025 13:55:47 -0500 Subject: [PATCH 055/181] put the correct q profile (it was the PT discharge not the NT one before...) --- gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c index 46a66d7af1..9c758baa8f 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c @@ -52,7 +52,7 @@ double r_x(double x, double a_mid, double x_inner) // cubic polynomial fit to TCV NT q profile (discharge #65130) double qprofile(double R) { double qfit[4] = { - 497.3420166252413, -1408.736172826569, 1331.4134861681464, -419.00692601227627 + 484.0615913225881, -1378.25993228584, 1309.3099150729233, -414.13270311478726 }; return qfit[0]*pow(R,3) + qfit[1]*pow(R,2) + qfit[2]*R + qfit[3]; } diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c index 6e912d8602..a5474165e8 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c @@ -53,7 +53,7 @@ double r_x(double x, double a_mid, double x_inner) // cubic polynomial fit to TCV NT q profile (discharge #65130) double qprofile(double R) { double qfit[4] = { - 497.3420166252413, -1408.736172826569, 1331.4134861681464, -419.00692601227627 + 484.0615913225881, -1378.25993228584, 1309.3099150729233, -414.13270311478726 }; return qfit[0]*pow(R,3) + qfit[1]*pow(R,2) + qfit[2]*R + qfit[3]; } From 4490d73a9feb98221b61a780f6ef1e4bcbf72cbc Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 2 Dec 2025 16:02:02 -0500 Subject: [PATCH 056/181] a 1/2 factor is missing in the computation of the electrostatic energy for the 1D case --- gyrokinetic/apps/gk_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 89d0bfec2e..945d9d65cc 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -540,7 +540,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) if (f->gkfield_id == GKYL_GK_FIELD_BOLTZMANN) f->es_energy_fac_1d = polarization_weight; else - f->es_energy_fac_1d = polarization_weight*f->info.kperpSq + es_energy_fac_1d_adiabatic; + f->es_energy_fac_1d = 0.5*polarization_weight*f->info.kperpSq + es_energy_fac_1d_adiabatic; f->calc_em_energy = gkyl_array_integrate_new(&app->grid, &app->basis, 1, GKYL_ARRAY_INTEGRATE_OP_SQ, app->use_gpu); From 3f3a56bc7b190fe7195c382e7df5888572b6eb78 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 2 Dec 2025 16:03:29 -0500 Subject: [PATCH 057/181] add diagnostics for energy stored in Aparallel and its time derivative, we may want to merge this into the field diagnostics later --- gyrokinetic/apps/gk_field.c | 87 +++++++++++++++++++ gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 18 +++- gyrokinetic/apps/gyrokinetic.c | 41 ++++++++- gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 2 + 4 files changed, 143 insertions(+), 5 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 945d9d65cc..9dfd837eef 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -38,6 +38,15 @@ gk_field_calc_energy_dt_active(gkyl_gyrokinetic_app *app, const struct gk_field app->stat.phidot_tm += gkyl_time_diff_now_sec(wst); } +static void +gk_field_calc_apar_energy_dt_active(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_integrate_advance(field->calc_em_energy, field->apar, + 1.0/dt, field->apar_energy_fac, &app->local, &app->local, energy_reduced); + app->stat.phidot_tm += gkyl_time_diff_now_sec(wst); +} + static void gk_field_calc_energy_dt_none(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced) { @@ -49,6 +58,12 @@ gk_field_calc_energy_dt(gkyl_gyrokinetic_app *app, const struct gk_field *field, field->calc_energy_dt_func(app, field, dt, energy_reduced); } +void +gk_field_calc_apar_energy_dt(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced) +{ + field->calc_apar_energy_dt_func(app, field, dt, energy_reduced); +} + static void gk_field_add_TSBC_and_SSFG_updaters(struct gkyl_gyrokinetic_app *app, struct gk_field *f) { @@ -554,6 +569,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } f->calc_energy_dt_func = gk_field_calc_energy_dt_none; + f->calc_apar_energy_dt_func = gk_field_calc_energy_dt_none; if (f->info.time_rate_diagnostics) { f->calc_energy_dt_func = gk_field_calc_energy_dt_active; if (app->use_gpu) { @@ -569,6 +585,22 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } f->integ_energy_dot = gkyl_dynvec_new(GKYL_DOUBLE, 1); f->is_first_energy_dot_write_call = true; + if (f->is_em){ + f->calc_apar_energy_dt_func = gk_field_calc_apar_energy_dt_active; + if (app->use_gpu) { + f->apar_energy_red_new = gkyl_cu_malloc(sizeof(double[1])); + f->apar_energy_red_old = gkyl_cu_malloc(sizeof(double[1])); + gkyl_cu_memset(f->apar_energy_red_new, 0, sizeof(double[1])); + gkyl_cu_memset(f->apar_energy_red_old, 0, sizeof(double[1])); + } else { + f->apar_energy_red_new = gkyl_malloc(sizeof(double[1])); + f->apar_energy_red_old = gkyl_malloc(sizeof(double[1])); + memset(f->apar_energy_red_new, 0, sizeof(double[1])); + memset(f->apar_energy_red_old, 0, sizeof(double[1])); + } + f->integ_apar_energy_dot = gkyl_dynvec_new(GKYL_DOUBLE, 1); + } + f->is_first_apar_energy_dot_write_call = true; } // setup biased lower wall (same size as electrostatic potential), by default is 0.0 @@ -721,6 +753,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } // Diagnostic for integrated Aparallel energy. f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); + f->integ_apardot_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); } // Create operator needed for FLR effects. @@ -1106,6 +1139,7 @@ gk_field_calc_energy(gkyl_gyrokinetic_app *app, double tm, const struct gk_field } if (field->is_em) { + // Calculate Aparallel energy. gkyl_array_integrate_advance(field->calc_em_energy, field->apar, 1.0, field->apar_energy_fac, &app->local, &app->local, field->em_energy_red); @@ -1121,6 +1155,48 @@ gk_field_calc_energy(gkyl_gyrokinetic_app *app, double tm, const struct gk_field energy_global[0] *= field->apar_energy_fac_1d; gkyl_dynvec_append(field->integ_apar_energy, tm, energy_global); + + // Calculate d(Aparallel)/dt energy. + gkyl_array_integrate_advance(field->calc_em_energy, field->apardot, + 1.0, field->apar_energy_fac, &app->local, &app->local, field->em_energy_red); + + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->em_energy_red, field->em_energy_red_global); + + double energy_dot_global[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_dot_global, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_dot_global[0] = field->em_energy_red_global[0]; + + // if (app->cdim == 1) + // energy_dot_global[0] *= field->apar_energy_fac_1d; + + gkyl_dynvec_append(field->integ_apardot_energy, tm, energy_dot_global); + + if (field->info.time_rate_diagnostics) { + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->apar_energy_red_old, field->em_energy_red_global); + double energy_dot_global_old[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_dot_global_old, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_dot_global_old[0] = field->em_energy_red_global[0]; + if (app->cdim == 1) + energy_dot_global_old[0] *= field->apar_energy_fac_1d; + + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->apar_energy_red_new, field->em_energy_red_global); + double energy_dot_global_new[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_dot_global_new, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_dot_global_new[0] = field->em_energy_red_global[0]; + if (app->cdim == 1) + energy_dot_global_new[0] *= field->apar_energy_fac_1d; + + double energy_dot_global[1] = { 0.0 }; + energy_dot_global[0] = energy_dot_global_new[0] - energy_dot_global_old[0]; + + gkyl_dynvec_append(field->integ_apar_energy_dot, tm, energy_dot_global); + } } app->stat.field_diag_calc_tm += gkyl_time_diff_now_sec(wst); @@ -1165,6 +1241,7 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_array_release(f->apardot_host); } gkyl_dynvec_release(f->integ_apar_energy); + gkyl_dynvec_release(f->integ_apardot_energy); } if (f->init_phi_pol) { @@ -1224,6 +1301,16 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) gkyl_free(f->em_energy_red_new); gkyl_free(f->em_energy_red_old); } + if (f->is_em) { + gkyl_dynvec_release(f->integ_apar_energy_dot); + if (app->use_gpu) { + gkyl_cu_free(f->apar_energy_red_new); + gkyl_cu_free(f->apar_energy_red_old); + } else { + gkyl_free(f->apar_energy_red_new); + gkyl_free(f->apar_energy_red_old); + } + } } gkyl_array_release(f->phi_wall_lo); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 3b9cc6119d..6f09f1e40c 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1213,11 +1213,15 @@ struct gk_field { double *em_energy_red, *em_energy_red_global; // memory for use in GPU reduction of EM energy gkyl_dynvec integ_energy; // integrated energy components gkyl_dynvec integ_apar_energy; // integrated EM energy components (separate from electrostatic energy for debugging purposes) + gkyl_dynvec integ_apardot_energy; // time derivative of integrated EM energy components bool is_first_energy_write_call; // flag for energy dynvec written first time double *em_energy_red_old, *em_energy_red_new; // memory for use in GPU reduction of old EM energy. gkyl_dynvec integ_energy_dot; // d/dt of integrated energy components. bool is_first_energy_dot_write_call; // flag for d(energy)/dt dynvec written first time + double *apar_energy_red_old, *apar_energy_red_new; // memory for use in GPU reduction of old Apar energy. + gkyl_dynvec integ_apar_energy_dot; // d/dt of integrated EM energy components (separate from electrostatic energy for debugging purposes) + bool is_first_apar_energy_dot_write_call; // flag for d(energy)/dt dynvec written first time bool has_phi_wall_lo; // flag to indicate there is biased wall potential on lower wall bool phi_wall_lo_evolve; // flag to indicate biased wall potential on lower wall is time dependent @@ -1233,7 +1237,8 @@ struct gk_field { // Pointer to function that computes the time rate of change of the energy. void (*calc_energy_dt_func)(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced); - + void (*calc_apar_energy_dt_func)(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced); + // Objects used in IWL simulations and TS BCs. struct gkyl_bc_twistshift *bc_T_LU_lo; // TS BC updater. // Objects used by the skin surface to ghost (SSFG) operator. @@ -3788,6 +3793,17 @@ void gk_field_calc_energy(gkyl_gyrokinetic_app *app, double tm, const struct gk_ */ void gk_field_calc_energy_dt(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced); +/** + * Compute Apar energy divided by dt for energy balance diagnostics. + * + * @param app gyrokinetic app object. + * @param field Pointer to field. + * @param dt Time step. + * @param energy_reduced Integrated field energy (single element double array). + */ +void gk_field_calc_apar_energy_dt(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced); + + /** * Release resources allocated by field. * diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index e26a5b6b0a..86efae21ed 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1209,6 +1209,11 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) char fileNm0_apar[sz0_apar+1]; // ensures no buffer overflow snprintf(fileNm0_apar, sizeof fileNm0_apar, fmt0_apar, app->name); + const char *fmt0_apardot = "%s-apardot_energy.gkyl"; + int sz0_apardot = gkyl_calc_strlen(fmt0_apardot, app->name); + char fileNm0_apardot[sz0_apardot+1]; // ensures no buffer overflow + snprintf(fileNm0_apardot, sizeof fileNm0_apardot, fmt0_apardot, app->name); + int rank; gkyl_comm_get_rank(app->comm, &rank); @@ -1218,22 +1223,27 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) // Write to a new file (this ensure previous output is removed). gkyl_dynvec_write(app->field->integ_energy, fileNm0); - if (write_em) + if (write_em) { gkyl_dynvec_write(app->field->integ_apar_energy, fileNm0_apar); - + gkyl_dynvec_write(app->field->integ_apardot_energy, fileNm0_apardot); + } app->field->is_first_energy_write_call = false; } else { // Append to existing file. gkyl_dynvec_awrite(app->field->integ_energy, fileNm0); - if (write_em) + if (write_em) { gkyl_dynvec_awrite(app->field->integ_apar_energy, fileNm0_apar); + gkyl_dynvec_awrite(app->field->integ_apardot_energy, fileNm0_apardot); + } } app->stat.n_field_diag_io += 1; } gkyl_dynvec_clear(app->field->integ_energy); - if (write_em) + if (write_em) { gkyl_dynvec_clear(app->field->integ_apar_energy); + gkyl_dynvec_clear(app->field->integ_apardot_energy); + } if (app->field->info.time_rate_diagnostics) { // Write out the time rate of change of the field energy. @@ -1255,6 +1265,27 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) app->stat.n_field_diag_io += 1; } gkyl_dynvec_clear(app->field->integ_energy_dot); + if (write_em) { + // Write out the time rate of change of the field energy. + const char *fmt2 = "%s-apar_energy_dot.gkyl"; + int sz2 = gkyl_calc_strlen(fmt2, app->name); + char fileNm2[sz2+1]; // ensures no buffer overflow + snprintf(fileNm2, sizeof fileNm2, fmt2, app->name); + + if (rank == 0) { + if (app->field->is_first_apar_energy_dot_write_call) { + // Write to a new file (this ensure previous output is removed). + gkyl_dynvec_write(app->field->integ_apar_energy_dot, fileNm2); + app->field->is_first_apar_energy_dot_write_call = false; + } + else { + // Append to existing file. + gkyl_dynvec_awrite(app->field->integ_apar_energy_dot, fileNm2); + } + app->stat.n_field_diag_io += 1; + } + gkyl_dynvec_clear(app->field->integ_apar_energy_dot); + } } app->stat.field_diag_io_tm += gkyl_time_diff_now_sec(wtm); @@ -2716,6 +2747,7 @@ gkyl_gyrokinetic_app_from_frame_field(gkyl_gyrokinetic_app *app, int frame) struct gkyl_app_restart_status rstat = gkyl_gyrokinetic_app_from_file_field(app, fileNm.str); app->field->is_first_energy_write_call = false; // Append to existing diagnostic. app->field->is_first_energy_dot_write_call = false; // Append to existing diagnostic. + app->field->is_first_apar_energy_dot_write_call = false; // Append to existing diagnostic. cstr_drop(&fileNm); return rstat; @@ -2858,6 +2890,7 @@ gkyl_gyrokinetic_app_read_from_frame(gkyl_gyrokinetic_app *app, int frame) } app->field->is_first_energy_write_call = false; // Append to existing diagnostic. app->field->is_first_energy_dot_write_call = false; // Append to existing diagnostic. + app->field->is_first_apar_energy_dot_write_call = false; // Append to existing diagnostic. return rstat; } diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index f1df287b23..5fbbc575db 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -122,6 +122,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) // Compute field energy divided by dt for energy balance diagnostics. gk_field_calc_energy_dt(app, app->field, dt, app->field->em_energy_red_old); + gk_field_calc_apar_energy_dt(app, app->field, dt, app->field->apar_energy_red_old); // Compute the fields and apply BCs. gyrokinetic_calc_field_and_apply_bc(app, tcurr, fout, bflux_out, fout_neut); @@ -315,6 +316,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) // Compute field energy divided by dt for energy balance diagnostics. gk_field_calc_energy_dt(app, app->field, dt, app->field->em_energy_red_new); + gk_field_calc_apar_energy_dt(app, app->field, dt, app->field->apar_energy_red_new); state = RK_COMPLETE; } From 5f1f9dab4020bc16b804eb0e711b0d79e12a11ef Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 8 Dec 2025 12:01:56 -0500 Subject: [PATCH 058/181] We accumulate the helmholtz constant for the Ohm solve just before solving Ohm. Before it was computed at the same time as the charge density (more optimized but not sure about program flow). --- gyrokinetic/apps/gk_field.c | 76 ++++++++++++++++++------ gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 7 ++- gyrokinetic/apps/gyrokinetic.c | 2 +- 3 files changed, 65 insertions(+), 20 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 9dfd837eef..c34640e789 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -155,6 +155,30 @@ gk_field_accumulate_current_dens_dot_none(gkyl_gyrokinetic_app *app, struct gk_f { } +static void +gk_field_accumulate_ohms_kSq_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_clear(field->dApartdtSlvr_kSq, 0.0); + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + gk_species_moment_calc(&s->m0, s->local, app->local, fin[i]); + // Gyroaverage the density if needed. + s->gyroaverage(app, s, s->m0.marr, s->m0_gyroavg); + // Use m0 to update also update the kSq matrix for the Ohm's law solver. + double fac = s->info.charge*s->info.charge/s->info.mass; + gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg, &app->local); + } + app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_accumulate_ohms_kSq_none(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ +} + static void gk_field_accumulate_current_dens_dot_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]) @@ -205,8 +229,10 @@ static void gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); - // Compute the new dApartdtSlvr_kSq (= k_perp^2/mu_0 + sum_s q_s^2 n_s/m_s) - gkyl_array_set(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq); + // Compute the LHS factor (= k_perp^2/mu_0 + sum_s q_s^2 n_s/m_s) + // gkyl_array_set(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq); + gkyl_array_clear(field->dApartdtSlvr_lhs_factor, 0.0); + gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq, &app->local); gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->lapWeightAmpere, &app->local); // Weak division method dApar/dt = sum_s q_s int dv vpar d/dt(F_s) / ( (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) ) @@ -214,6 +240,13 @@ gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ 0, field->dApartdtSlvr_lhs_factor, &app->local); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); + + // // Smooth apardot + // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->apardot, field->rho_c_global_dg); + // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); + // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); + // gkyl_array_copy_range_to_range(field->apardot, field->apar_fem, &app->local, &field->global_sub_range); + } static void @@ -233,12 +266,17 @@ static void gk_field_ampere_solve_1x(gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); - gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->currentDens, field->currentDens_global); - gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->currentDens_global, field->currentDens_global); - gkyl_fem_parproj_solve(field->fem_apar_parproj, field->phi_fem); + // Weak division method Apar = sum_s q_s int dv vpar F_s / (k_perp^2/mu_0) + gkyl_dg_div_op_range(field->div_mem, app->basis, 0, field->apar, 0, field->currentDens, + 0, field->lapWeightAmpere, &app->local); + + // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->currentDens, field->currentDens_global); + + // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->currentDens_global, field->currentDens_global); + // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->phi_fem); - gkyl_array_copy_range_to_range(field->apar, field->phi_fem, &app->local, &field->global_sub_range); + // gkyl_array_copy_range_to_range(field->apar, field->phi_fem, &app->local, &field->global_sub_range); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -260,6 +298,7 @@ gk_field_step_apar_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, struct // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); // gkyl_array_copy_range_to_range(out, field->apar_fem, &app->local, &field->global_sub_range); + } static void @@ -652,12 +691,13 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->ampere_solve = gk_field_ampere_solve_none; f->accumulate_current = gk_field_accumulate_current_dens_none; f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_none; + f->accumulate_ohms_kSq = gk_field_accumulate_ohms_kSq_none; f->step_apar = gk_field_step_apar_none; f->combine_func = gk_field_combine_static; f->copy_func = gk_field_copy_range_static; f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar_curr = f->apar; + f->apar_curr = gkyl_array_acquire(f->apar); f->div_mem = NULL; if (f->is_em) { f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); @@ -691,7 +731,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) if (app->periodic_dirs[d] == app->cdim-1) f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_PERIODIC; f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, - f->fem_parproj_ampere_bc, f->lapWeightAmpere, 0, app->use_gpu); + f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); f->ohm_solve = gk_field_ohm_solve_1x; f->ampere_solve = gk_field_ampere_solve_1x; @@ -736,6 +776,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } f->accumulate_current = gk_field_accumulate_current_dens_dyn; f->accumulate_current_dot = gk_field_accumulate_current_dens_dot_dyn; + f->accumulate_ohms_kSq = gk_field_accumulate_ohms_kSq_dyn; f->step_apar = gk_field_step_apar_dyn; f->combine_func = gk_field_combine_dynamic; f->copy_func = gk_field_copy_range_dynamic; @@ -838,8 +879,8 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[], struct gkyl_array **bflux[]) { struct timespec wst = gkyl_wall_clock(); - if (field->is_em) - gkyl_array_clear(field->dApartdtSlvr_kSq, 0.0); + // if (field->is_em) + // gkyl_array_clear(field->dApartdtSlvr_kSq, 0.0); gkyl_array_clear(field->rho_c, 0.0); for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; @@ -871,11 +912,11 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, double dg_norm = pow(sqrt(2),app->basis.ndim); gkyl_array_shiftc_range(field->rho_c, q_s*n_s0*dg_norm, 0, &app->local); } - if (field->is_em) { - // Use m0 to update also update the kSq matrix for the Ohm's law solver. - double fac = s->info.charge*s->info.charge/s->info.mass; - gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg, &app->local); - } + // if (field->is_em) { + // // Use m0 to update also update the kSq matrix for the Ohm's law solver. + // double fac = s->info.charge*s->info.charge/s->info.mass; + // gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg, &app->local); + // } } } app->stat.field_phi_rhs_tm += gkyl_time_diff_now_sec(wst); @@ -1027,9 +1068,10 @@ gk_field_copy_range(struct gk_field *field, struct gkyl_array *out, } void -gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]) +gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) { struct timespec wst = gkyl_wall_clock(); + field->accumulate_ohms_kSq(app, field, f_in); field->accumulate_current_dot(app, field, rhs_in); field->ohm_solve(app, field); app->stat.field_tm += gkyl_time_diff_now_sec(wst); @@ -1215,8 +1257,8 @@ gk_field_release(const gkyl_gyrokinetic_app* app, struct gk_field *f) // We need at least these two arrays even in ES case (kept 0). gkyl_array_release(f->apar); gkyl_array_release(f->apardot); - gkyl_array_release(f->apar_curr); if (f->is_em) { + gkyl_array_release(f->apar_curr); gkyl_array_release(f->apar); gkyl_array_release(f->apar1); gkyl_array_release(f->aparnew); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 6f09f1e40c..16a857e486 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1175,7 +1175,7 @@ struct gk_field { struct gkyl_array *dApartdtSlvr_lhs_factor; // Contains kperp^2/mu_0 + sum_s q_s^2/m_s n_s for 1D Ohm solve. struct gkyl_array *dApartdtSlvr_rhs; // Contains sum_s q_s int dv vpar d/dt(F_s)*. gkyl_dg_bin_op_mem *div_mem; // Memory for div operation in 1x Ohm's law. - struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0). + struct gkyl_array *lapWeightAmpere; // Factor in front of the laplacian operator (1/mu0 or kperp^2/mu0 for 1D). struct gkyl_fem_parproj *fem_apar_parproj; // FEM smoother for projecting Apar onto continuous FEM basis struct gkyl_fem_poisson_perp *fem_apar_solver; // Solver for IC Apar. struct gkyl_fem_poisson_perp *fem_apardot_solver; // Solver for d(Apar)/dt. @@ -1250,6 +1250,8 @@ struct gk_field { // Pointer to function for electromagnetic field solve. void (*accumulate_current) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]); + void (*accumulate_ohms_kSq) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]); void (*accumulate_current_dot) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]); void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); @@ -3755,9 +3757,10 @@ void gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field); * * @param app gyrokinetic app object. * @param field Pointer to field. + * @param fin[] Input distribution function (num_species size). * @param rhs_in[] right-hand side of the ES GK equation for each species. */ -void gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]); +void gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]); /** * Read the field from a file. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 86efae21ed..8ff19c0bee 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1817,7 +1817,7 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, } // Compute Apardot (solves Ohm's law using the previously built RHS). - gk_field_em_rhs(app, app->field, fout); + gk_field_em_rhs(app, app->field, fin, fout); // Update aparout. gk_field_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); From ea235781a75a3a7c5c2798b638ec08c5fe6a40c9 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 8 Dec 2025 10:18:23 -0800 Subject: [PATCH 059/181] apar_curr is now allocated as a normal gkyl array and we copy the current apar in the RK stages. I think this is not optimal, but it is safer than changing the pointer address for now. --- gyrokinetic/apps/gk_field.c | 2 +- gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index c34640e789..c669390637 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -697,7 +697,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->copy_func = gk_field_copy_range_static; f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar_curr = gkyl_array_acquire(f->apar); + f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->div_mem = NULL; if (f->is_em) { f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index 5fbbc575db..f6dd5b911e 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -79,7 +79,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar; aparout = app->field->apar1; - app->field->apar_curr = app->field->apar; // This is the A_parallel used in the species gyro_apar. + gkyl_array_copy_range(app->field->apar_curr, app->field->apar, &app->local); // Update apar_curr to latest A_parallel. for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gkns = &app->neut_species[i]; fin_neut[i] = gkns->f; @@ -149,7 +149,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; - app->field->apar_curr = app->field->apar1; // This is the A_parallel used in the species gyro_apar. + gkyl_array_copy_range(app->field->apar_curr, app->field->apar1, &app->local); // Update apar_curr to latest A_parallel. gyrokinetic_forward_euler(app, tcurr+dt, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); @@ -225,7 +225,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; - app->field->apar_curr = app->field->apar1; // This is the A_parallel used in the species gyro_apar. + gkyl_array_copy_range(app->field->apar_curr, app->field->apar1, &app->local); // Update apar_curr to latest A_parallel. gyrokinetic_forward_euler(app, tcurr+dt/2, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); From 3346a44300150f9308698a92d18868acfd9b8c23 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 8 Dec 2025 14:58:08 -0500 Subject: [PATCH 060/181] clean unused code. This code can retrieve the frequencies measured in Mandell's thesis with three important caveats: -the frequencies at small ky are incorrect if we use static ions - I had to reduce vparmax and Nz to delay the recurrence effects for beta=10.0in order to measure at least two peaks. - The damping rates are not retrieve very accurately for kyrho_s<0.1, I guess we have to play with resolution to get it right. --- gyrokinetic/apps/gk_field.c | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index c669390637..bdcfbc907e 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -879,8 +879,6 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[], struct gkyl_array **bflux[]) { struct timespec wst = gkyl_wall_clock(); - // if (field->is_em) - // gkyl_array_clear(field->dApartdtSlvr_kSq, 0.0); gkyl_array_clear(field->rho_c, 0.0); for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; @@ -912,11 +910,6 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, double dg_norm = pow(sqrt(2),app->basis.ndim); gkyl_array_shiftc_range(field->rho_c, q_s*n_s0*dg_norm, 0, &app->local); } - // if (field->is_em) { - // // Use m0 to update also update the kSq matrix for the Ohm's law solver. - // double fac = s->info.charge*s->info.charge/s->info.mass; - // gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg, &app->local); - // } } } app->stat.field_phi_rhs_tm += gkyl_time_diff_now_sec(wst); From 04b132a336ee283f3236ef0840d8ff77d9eb0e9a Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 8 Dec 2025 12:12:26 -0800 Subject: [PATCH 061/181] update alfven wave reg test. This commit is multi GPU compute-sanitize clean for this version of the alfven regression test. --- gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c | 149 ++++++++++++++++++--- 1 file changed, 127 insertions(+), 22 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c index 2856df023f..48cd1f09e3 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c @@ -25,6 +25,7 @@ struct gk_app_ctx { double z_min; double z_max; double kperp; // Perpendicular wavenumber. + double beta_hat; // Plasma beta parameter. // Plasma parameters. double me; double qe; @@ -82,6 +83,30 @@ void temp_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT f fout[0] = app->Te0; } +// Electron source profiles. +void density_src(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 1e-40; +} +void upar_elc_src(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_elc_src(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} + +// Ion source profiles. +void upar_ion_src(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_ion_src(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} + // Slab magnetic equilibrium. static inline void mapc2p(double t, const double* xc, double* GKYL_RESTRICT xp, void* ctx) @@ -98,6 +123,54 @@ void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *c fout[2] = app->B; } +void +write_ctx_to_json(const struct gk_app_ctx *ctx) +{ + FILE *fp = fopen("ctx.json", "w"); + if (!fp) { + perror("Error opening file for writing context"); + return; + } + + fprintf(fp, "{\n"); + fprintf(fp, " \"cdim\": %d,\n", ctx->cdim); + fprintf(fp, " \"vdim\": %d,\n", ctx->vdim); + fprintf(fp, " \"mu0\": %e,\n", ctx->mu0); + fprintf(fp, " \"R\": %e,\n", ctx->R); + fprintf(fp, " \"a\": %e,\n", ctx->a); + fprintf(fp, " \"r\": %e,\n", ctx->r); + fprintf(fp, " \"B\": %e,\n", ctx->B); + fprintf(fp, " \"z_min\": %e,\n", ctx->z_min); + fprintf(fp, " \"z_max\": %e,\n", ctx->z_max); + fprintf(fp, " \"kperp\": %e,\n", ctx->kperp); + fprintf(fp, " \"beta_hat\": %e,\n", ctx->beta_hat); + fprintf(fp, " \"me\": %e,\n", ctx->me); + fprintf(fp, " \"qe\": %e,\n", ctx->qe); + fprintf(fp, " \"mi\": %e,\n", ctx->mi); + fprintf(fp, " \"qi\": %e,\n", ctx->qi); + fprintf(fp, " \"n0\": %e,\n", ctx->n0); + fprintf(fp, " \"Te0\": %e,\n", ctx->Te0); + fprintf(fp, " \"Ti0\": %e,\n", ctx->Ti0); + fprintf(fp, " \"kz_min\": %e,\n", ctx->kz_min); + fprintf(fp, " \"Nz\": %d,\n", ctx->Nz); + fprintf(fp, " \"Nvpar\": %d,\n", ctx->Nvpar); + fprintf(fp, " \"Nmu\": %d,\n", ctx->Nmu); + fprintf(fp, " \"poly_order\": %d,\n", ctx->poly_order); + fprintf(fp, " \"vpar_max_elc\": %e,\n", ctx->vpar_max_elc); + fprintf(fp, " \"mu_max_elc\": %e,\n", ctx->mu_max_elc); + fprintf(fp, " \"vpar_max_ion\": %e,\n", ctx->vpar_max_ion); + fprintf(fp, " \"mu_max_ion\": %e,\n", ctx->mu_max_ion); + fprintf(fp, " \"t_end\": %e,\n", ctx->t_end); + fprintf(fp, " \"num_frames\": %d,\n", ctx->num_frames); + fprintf(fp, " \"write_phase_freq\": %e,\n", ctx->write_phase_freq); + fprintf(fp, " \"int_diag_calc_num\": %d,\n", ctx->int_diag_calc_num); + fprintf(fp, " \"dt_failure_tol\": %e,\n", ctx->dt_failure_tol); + fprintf(fp, " \"num_failures_max\": %d\n", ctx->num_failures_max); + fprintf(fp, "}\n"); + + fclose(fp); +} + struct gk_app_ctx create_ctx(void) { @@ -107,7 +180,7 @@ create_ctx(void) double qi = eV; // ion charge double qe = -eV; // electron charge double me = GKYL_ELECTRON_MASS; - double mp = GKYL_PROTON_MASS; + double mi = 2*GKYL_PROTON_MASS; double mu0 = GKYL_MU0; // Geometry, magnetic field and gradients. double R0 = 1.313; // Major radius of the simulation box [m]. @@ -115,12 +188,13 @@ create_ctx(void) double B0 = 1.91; // Magnetic field magnitude in the simulation box [T]. double Ti0 = 2072*eV; double eps_n = 0.2; - // double eta_e = 2.0; // Comes from rt-alfven-p1.lua but unused. - // double eta_i = 2.5; // Comes from rt-alfven-p1.lua but unused. - double ky_rhos = 0.01; double kz_Ln = 1.0; - double beta_hat = 10.0; // beta_e/2*m_p/m_e. - double beta_e = beta_hat*2.0*me/mp; + + double beta_hat = 0.1; // gkylscan can parameter. + double ky_rhos = 0.5; // gkylscan can parameter. + double nperiod = 5.0; + + double beta_e = beta_hat*2.0*me/mi; double tau = 1.0; // Ti/Te. // Derived paramters. double r0 = 0.5*a; // Minor radius of the simulation box [m]. @@ -129,16 +203,19 @@ create_ctx(void) double Te0 = Ti0/tau; // Electron temperature [J]. double n0 = beta_e*B*B/(2*mu0*Te0); // Density [m^-3]. double vte = sqrt(Te0/me); // Electron thermal speed [m/s]. - double vti = sqrt(Ti0/mp); // Ion thermal speed [m/s]. - double c_s = sqrt(Te0/mp); // Sound speed [m/s]. - double omega_ci = fabs(qi*B/mp); // Ion cyclotron frequency [rad/s]. + double vti = sqrt(Ti0/mi); // Ion thermal speed [m/s]. + double c_s = sqrt(Te0/mi); // Sound speed [m/s]. + double omega_ci = fabs(qi*B/mi); // Ion cyclotron frequency [rad/s]. double rho_s = c_s/omega_ci; // Ion sound gyroradius [m double ky_min = ky_rhos/rho_s; // Minimum perpendicular wavenumber [1/m]. double L_n = R*eps_n; // Density gradient scale length [m]. double kz_min = kz_Ln/L_n; // Minimum parallel wavenumber [1/m]. - double L_parallel = 2*M_PI/kz_min; // Domain size in z [m]. // Expected frequency from dispersion relation: - double omega = kz_min*c_s*sqrt(2/beta_e/(1+beta_hat*pow(ky_rhos,2))); + // double omega = kz_min*c_s*sqrt(2/beta_e/(1+beta_hat*pow(ky_rhos,2))); + double va = vte/sqrt(beta_hat); // Alfvén speed [m/s]. + // double omega = kz_min*va; // Shear Alfvén wave frequency [rad/s]. + double omega = sqrt(pow(kz_min*va,2)/(1+beta_hat*pow(ky_rhos,2))); // KAW frequency [rad/s]. + // double omega = sqrt(pow(kz_min,2)*2/beta_e*pow(c_s,2)/(1+beta_hat*pow(ky_rhos,2))); // Velocity grid parameters. double vpar_max_elc = 6.0*vte; // Max electron parallel velocity [m/s]. @@ -146,18 +223,18 @@ create_ctx(void) double vpar_max_ion = 6.0*vti; // Max ion parallel velocity [m/s]. double vpar_min_ion = -vpar_max_ion; // Min ion parallel double mu_max_elc = me*pow(4*vte,2)/(2*B); // Max electron mu [J/T]. - double mu_max_ion = mp*pow(4*vti,2)/(2*B); // Max ion mu [J/T]. + double mu_max_ion = mi*pow(4*vti,2)/(2*B); // Max ion mu [J/T]. // Grid parameters - int Nz = 8; - int Nvpar = 8; - int Nmu = 6; + int Nz = 8; // Reduce this to delay recurrence effect. + int Nvpar = 32; // Increase this to delay recurrence effect. + int Nmu = 1; // useless int poly_order = 1; - double t_end = 2*M_PI/omega; // End time [s]. - int num_frames = 1; - double write_phase_freq = 0.1; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). - int int_diag_calc_num = num_frames*100; + double t_end = nperiod*2*M_PI/omega; // End time [s]. + int num_frames = 100; + double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*1000; double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. int num_failures_max = 50; // Maximum allowable number of consecutive small time-steps. @@ -167,13 +244,14 @@ create_ctx(void) .mu0 = mu0, .R = R, .B = B, + .beta_hat = beta_hat, .z_min = -M_PI/kz_min, .z_max = M_PI/kz_min, .kperp = ky_min, .kz_min = kz_min, .me = me, .qe = qe, - .mi = mp, .qi = qi, + .mi = mi, .qi = qi, .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, .Nz = Nz, @@ -193,7 +271,6 @@ create_ctx(void) return ctx; } - int main(int argc, char **argv) { struct gkyl_app_args app_args = parse_app_args(argc, argv); @@ -250,11 +327,18 @@ int main(int argc, char **argv) .num_integrated_diag_moments = 1, .integrated_diag_moments = { GKYL_F_MOMENT_HAMILTONIAN }, .time_rate_diagnostics = true, + + .boundary_flux_diagnostics = { + .num_integrated_diag_moments = 1, + .integrated_diag_moments = { GKYL_F_MOMENT_HAMILTONIAN }, +// .time_integrated = true, + }, }; // Ions. struct gkyl_gyrokinetic_species ion = { .name = "ion", + .is_static = false, .charge = ctx.qi, .mass = ctx.mi, .vdim = ctx.vdim, .lower = { -ctx.vpar_max_ion, 0.0}, @@ -273,7 +357,9 @@ int main(int argc, char **argv) .temp = temp_ion, }, - .is_static = true, + .collisionless = { + .type = GKYL_GK_COLLISIONLESS_EM, + }, .num_diag_moments = 9, .diag_moments = {GKYL_F_MOMENT_HAMILTONIAN, GKYL_F_MOMENT_BIMAXWELLIAN, @@ -282,17 +368,34 @@ int main(int argc, char **argv) .num_integrated_diag_moments = 1, .integrated_diag_moments = { GKYL_F_MOMENT_HAMILTONIAN }, .time_rate_diagnostics = true, + + .boundary_flux_diagnostics = { + .num_integrated_diag_moments = 1, + .integrated_diag_moments = { GKYL_F_MOMENT_HAMILTONIAN }, +// .time_integrated = true, + }, }; // field struct gkyl_gyrokinetic_field field = { .kperpSq = ctx.kperp * ctx.kperp, .mu0 = ctx.mu0, + .poisson_bcs = { + { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_PERIODIC, }, + { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_PERIODIC, }, + }, + .ampere_bcs = { + { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_PERIODIC, }, + { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_PERIODIC, }, + }, + .time_rate_diagnostics = true, }; // GK app struct gkyl_gk app_inp = { .name = "gk_em_alfven_1x2v_p1", + .cfl_frac = 1.0, + .cfl_frac_omegaH = 1.0, .cdim = ctx.cdim, .lower = { ctx.z_min }, @@ -339,6 +442,8 @@ int main(int argc, char **argv) }, }; + write_ctx_to_json(&ctx); + gkyl_gyrokinetic_run_simulation(&run_inp); gkyl_gyrokinetic_comms_release(comm); From 331ec9f6287a8e0f728a3b7761c1f82363b35e9f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 8 Dec 2025 16:31:45 -0500 Subject: [PATCH 062/181] reduction of the rt alfven 1x2v frame number to 1 --- gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c index 48cd1f09e3..74e5e59bbe 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c @@ -232,9 +232,9 @@ create_ctx(void) int poly_order = 1; double t_end = nperiod*2*M_PI/omega; // End time [s]. - int num_frames = 100; + int num_frames = 1; double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). - int int_diag_calc_num = num_frames*1000; + int int_diag_calc_num = num_frames*100; double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. int num_failures_max = 50; // Maximum allowable number of consecutive small time-steps. From 1d15fd89a68c26ad16b2279694535838c9089ffd Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 8 Dec 2025 16:51:24 -0500 Subject: [PATCH 063/181] Reorganize the allocation for cdim>1 and use gk_field_copy_range to update apar_curr (so that it works in electrostatic limit) --- gyrokinetic/apps/gk_field.c | 2 +- gyrokinetic/apps/gk_species.c | 5 ++++- gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index bdcfbc907e..987c9c9243 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -697,9 +697,9 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->copy_func = gk_field_copy_range_static; f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->div_mem = NULL; if (f->is_em) { + f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 91822b6b5f..66d3020803 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1586,7 +1586,10 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st } // We do not have FLR effects for EM yet. - gks->gyro_apar = gkyl_array_acquire(app->field->apar_curr); + if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_ES) + gks->gyro_apar = gkyl_array_acquire(app->field->apar); + else + gks->gyro_apar = gkyl_array_acquire(app->field->apar_curr); gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); // Initialize the collisionless solver. diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index f6dd5b911e..2b6520e7bc 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -79,7 +79,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar; aparout = app->field->apar1; - gkyl_array_copy_range(app->field->apar_curr, app->field->apar, &app->local); // Update apar_curr to latest A_parallel. + gk_field_copy_range(app->field, app->field->apar_curr, app->field->apar, &app->local_ext); // Update apar_curr to latest A_parallel. for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gkns = &app->neut_species[i]; fin_neut[i] = gkns->f; @@ -149,7 +149,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; - gkyl_array_copy_range(app->field->apar_curr, app->field->apar1, &app->local); // Update apar_curr to latest A_parallel. + gk_field_copy_range(app->field, app->field->apar_curr, app->field->apar1, &app->local_ext); // Update apar_curr to latest A_parallel. gyrokinetic_forward_euler(app, tcurr+dt, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); @@ -225,7 +225,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; - gkyl_array_copy_range(app->field->apar_curr, app->field->apar1, &app->local); // Update apar_curr to latest A_parallel. + gk_field_copy_range(app->field, app->field->apar_curr, app->field->apar1, &app->local_ext); // Update apar_curr to latest A_parallel. gyrokinetic_forward_euler(app, tcurr+dt/2, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); From 4d65045aa804b6d41b8441637e5357b520bade0a Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Tue, 9 Dec 2025 11:25:58 -0800 Subject: [PATCH 064/181] Bug fix: the new metric variables used in 2x2v EM kernels were not set properly, thanks @akashukla ! --- gyrokinetic/zero/calc_metric.c | 2 ++ gyrokinetic/zero/gk_geometry.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/gyrokinetic/zero/calc_metric.c b/gyrokinetic/zero/calc_metric.c index cc588bfcaa..a1c3a05577 100644 --- a/gyrokinetic/zero/calc_metric.c +++ b/gyrokinetic/zero/calc_metric.c @@ -1277,6 +1277,8 @@ void gkyl_calc_metric_advance_interior(gkyl_calc_metric *up, struct gk_geometry double Jsq = gFld_n[0]*(gFld_n[3]*gFld_n[5] - gFld_n[4]*gFld_n[4] ) - gFld_n[1]*(gFld_n[1]*gFld_n[5] - gFld_n[4]*gFld_n[2] ) + gFld_n[2]*(gFld_n[1]*gFld_n[4] - gFld_n[3]*gFld_n[2] ); double J = sqrt(Jsq); + double *jFld_n= gkyl_array_fetch(gk_geom->geo_int.jacobgeo_nodal, gkyl_range_idx(&gk_geom->nrange_int, cidx)); + jFld_n[0] = J; double e_1[3], e_2[3], e_3[3]; e_1[0] = dxdz[0][0]; e_1[1] = dxdz[1][0]; e_1[2] = dxdz[2][0]; e_2[0] = dxdz[0][1]; e_2[1] = dxdz[1][1]; e_2[2] = dxdz[2][1]; diff --git a/gyrokinetic/zero/gk_geometry.c b/gyrokinetic/zero/gk_geometry.c index 3a7ce6716b..850cc9efb9 100644 --- a/gyrokinetic/zero/gk_geometry.c +++ b/gyrokinetic/zero/gk_geometry.c @@ -373,7 +373,7 @@ gkyl_gk_geometry_deflate(const struct gk_geometry* up_3d, struct gkyl_gk_geometr gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.B3_nodal, up->geo_int.B3_nodal, 1); gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.bmag_nodal, up->geo_int.bmag_nodal, 1); gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.dualcurlbhat_nodal, up->geo_int.dualcurlbhat_nodal, 3); - gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.g_ij_nodal, up->geo_int.g_ij_nodal, 3); + gkyl_deflate_geo_advance_nodal(deflator, &up_3d->nrange_int, &up->nrange_int, up_3d->geo_int.g_ij_nodal, up->geo_int.g_ij_nodal, 6); gkyl_deflate_geo_release(deflator); if (up->grid.ndim==1) { From 0e511ca5ba2643531c5a61d805e4324ad1e4028c Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 9 Dec 2025 15:33:31 -0500 Subject: [PATCH 065/181] indent correctly some lines for readability (I know this is already refactored in main...) --- gyrokinetic/apps/gk_field.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 987c9c9243..4cd9e8bfac 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -489,11 +489,10 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) for (int i=0; i<3; i++) poisson_bcs.up_value[d].v[i] = bc_up->value[i]; } - } - else { + } else { poisson_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(GKYL_BC_GK_FIELD_PERIODIC); poisson_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(GKYL_BC_GK_FIELD_PERIODIC); - } + } } // Detect if this process contains an edge in the z dimension. // for applying bias at the extremal z planes only. From 12f34ff42e0a4514c70ad17ef2bc0dc9556e8ba3 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 9 Dec 2025 15:57:16 -0500 Subject: [PATCH 066/181] ampere bc are now overwritten by periodicity as for the es field. --- gyrokinetic/apps/gk_field.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 4cd9e8bfac..4b201f06f5 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -215,6 +215,9 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); + + // gkyl_array_clear_range(field->apardot, 0.0, &app->local_ext); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -293,6 +296,8 @@ gk_field_step_apar_dyn(gkyl_gyrokinetic_app *app, struct gk_field *field, struct { gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); + // gkyl_array_clear_range(out, 0.0, &app->local_ext); + // Smooth apar // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, out, field->rho_c_global_dg); // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); @@ -744,18 +749,23 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Translate input file BCs into Ampere BCs. for (int d=0; dcdim-1; d++) { - struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); - if (bc_lo != 0) { - f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); - for (int i=0; i<3; i++) - f->ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; - } + if (bc_is_np[d]) { + struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); + if (bc_lo != 0) { + f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); + for (int i=0; i<3; i++) + f->ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; + } - struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); - if (bc_up != 0) { - f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); - for (int i=0; i<3; i++) - f->ampere_bcs.up_value[d].v[i] = bc_up->value[i]; + struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); + if (bc_up != 0) { + f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); + for (int i=0; i<3; i++) + f->ampere_bcs.up_value[d].v[i] = bc_up->value[i]; + } + } else { + f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(GKYL_BC_GK_FIELD_PERIODIC); + f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(GKYL_BC_GK_FIELD_PERIODIC); } } From 52ee2a06225f88d1331d03174b749a3a39fb8beb Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 10 Dec 2025 13:25:51 -0500 Subject: [PATCH 067/181] the definition of the lapWeightAmpere was not compatible with higher dimensionalities --- gyrokinetic/apps/gk_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 4b201f06f5..3c17a406b9 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -717,7 +717,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->currentDens = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->currentDensdot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->lapWeightAmpere = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->lapWeightAmpere = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); f->dApartdtSlvr_kSq = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); if (app->cdim == 1) { From 31218d92ee4762753f29a310f94a5ee236b7bc64 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 10 Dec 2025 17:24:55 -0500 Subject: [PATCH 068/181] add regression test for alfven wave 2x2v --- gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c | 450 +++++++++++++++++++++ 1 file changed, 450 insertions(+) create mode 100644 gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c diff --git a/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c new file mode 100644 index 0000000000..8f186a7c16 --- /dev/null +++ b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c @@ -0,0 +1,450 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +// Define the context of the simulation. This is basically all the globals +struct gk_app_ctx { + int cdim, vdim; // Dimensionality. + double mu0; + + // Geometry and magnetic field. + double R; // Major radius of the simulation box [m]. + double a; // Minor radius at outboard midplane [m]. + double r; // Minor radius of the simulation box [m]. + double B; // Magnetic field magnitude in the simulation box [T]. + double z_min; double z_max; + + double kperp; // Perpendicular wavenumber. + double beta_hat; // Plasma beta parameter. + + // Plasma parameters. + double me; double qe; + double mi; double qi; + double n0; double Te0; double Ti0; + + // Grid parameters. + double kz_min; + double x_min, x_max; // Min and max x-coordinates. + int Nx, Nz; + int Nvpar; + int Nmu; + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + int poly_order; + double vpar_max_elc; double mu_max_elc; + double vpar_max_ion; double mu_max_ion; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +// Ion initial conditions. +void density_init_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->n0; +} +void upar_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->Ti0; +} + +// Electron initial conditions. +void density_init_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double z = xn[1]; + fout[0] = app->n0 * (1 + 1e-6*cos(app->kz_min*z)); +} +void upar_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->Te0; +} + +// Slab magnetic equilibrium. +static inline void +mapc2p(double t, const double* xc, double* GKYL_RESTRICT xp, void* ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xc[0], y = xc[1], z = xc[2]; + xp[0] = x; xp[1] = y; xp[2] = z; +} +void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = 0.0; + fout[1] = 0.0; + fout[2] = app->B; +} + +void +write_ctx_to_json(const struct gk_app_ctx *ctx) +{ + FILE *fp = fopen("ctx.json", "w"); + if (!fp) { + perror("Error opening file for writing context"); + return; + } + + fprintf(fp, "{\n"); + fprintf(fp, " \"cdim\": %d,\n", ctx->cdim); + fprintf(fp, " \"vdim\": %d,\n", ctx->vdim); + fprintf(fp, " \"mu0\": %e,\n", ctx->mu0); + fprintf(fp, " \"R\": %e,\n", ctx->R); + fprintf(fp, " \"a\": %e,\n", ctx->a); + fprintf(fp, " \"r\": %e,\n", ctx->r); + fprintf(fp, " \"B\": %e,\n", ctx->B); + fprintf(fp, " \"z_min\": %e,\n", ctx->z_min); + fprintf(fp, " \"z_max\": %e,\n", ctx->z_max); + fprintf(fp, " \"kperp\": %e,\n", ctx->kperp); + fprintf(fp, " \"beta_hat\": %e,\n", ctx->beta_hat); + fprintf(fp, " \"me\": %e,\n", ctx->me); + fprintf(fp, " \"qe\": %e,\n", ctx->qe); + fprintf(fp, " \"mi\": %e,\n", ctx->mi); + fprintf(fp, " \"qi\": %e,\n", ctx->qi); + fprintf(fp, " \"n0\": %e,\n", ctx->n0); + fprintf(fp, " \"Te0\": %e,\n", ctx->Te0); + fprintf(fp, " \"Ti0\": %e,\n", ctx->Ti0); + fprintf(fp, " \"kz_min\": %e,\n", ctx->kz_min); + fprintf(fp, " \"Nz\": %d,\n", ctx->Nz); + fprintf(fp, " \"Nvpar\": %d,\n", ctx->Nvpar); + fprintf(fp, " \"Nmu\": %d,\n", ctx->Nmu); + fprintf(fp, " \"poly_order\": %d,\n", ctx->poly_order); + fprintf(fp, " \"vpar_max_elc\": %e,\n", ctx->vpar_max_elc); + fprintf(fp, " \"mu_max_elc\": %e,\n", ctx->mu_max_elc); + fprintf(fp, " \"vpar_max_ion\": %e,\n", ctx->vpar_max_ion); + fprintf(fp, " \"mu_max_ion\": %e,\n", ctx->mu_max_ion); + fprintf(fp, " \"t_end\": %e,\n", ctx->t_end); + fprintf(fp, " \"num_frames\": %d,\n", ctx->num_frames); + fprintf(fp, " \"write_phase_freq\": %e,\n", ctx->write_phase_freq); + fprintf(fp, " \"int_diag_calc_num\": %d,\n", ctx->int_diag_calc_num); + fprintf(fp, " \"dt_failure_tol\": %e,\n", ctx->dt_failure_tol); + fprintf(fp, " \"num_failures_max\": %d\n", ctx->num_failures_max); + fprintf(fp, "}\n"); + + fclose(fp); +} + +struct gk_app_ctx +create_ctx(void) +{ + int cdim = 2, vdim = 2; // Dimensionality. + // Universal constant parameters. + double eps0 = GKYL_EPSILON0, eV = GKYL_ELEMENTARY_CHARGE; + double qi = eV; // ion charge + double qe = -eV; // electron charge + double me = GKYL_ELECTRON_MASS; + double mi = 2*GKYL_PROTON_MASS; + double mu0 = GKYL_MU0; + // Geometry, magnetic field and gradients. + double R0 = 1.313; // Major radius of the simulation box [m]. + double a = 0.4701; // Minor radius at outboard midplane [m]. + double B0 = 1.91; // Magnetic field magnitude in the simulation box [T]. + double Ti0 = 2072*eV; + double eps_n = 0.2; + double kz_Ln = 1.0; + + double beta_hat = 0.1; // gkylscan can parameter. + double kperp_rhos = 0.5; // gkylscan can parameter. + double nperiod = 3.0; + + double beta_e = beta_hat*2.0*me/mi; + double tau = 1.0; // Ti/Te. + // Derived paramters. + double r0 = 0.5*a; // Minor radius of the simulation box [m]. + double R = R0 + r0; // Major radius at center of simulation box [m]. + double B = B0 * R0/R; // Magnetic field at center of simulation box [T]. + double Te0 = Ti0/tau; // Electron temperature [J]. + double n0 = beta_e*B*B/(2*mu0*Te0); // Density [m^-3]. + double vte = sqrt(Te0/me); // Electron thermal speed [m/s]. + double vti = sqrt(Ti0/mi); // Ion thermal speed [m/s]. + double c_s = sqrt(Te0/mi); // Sound speed [m/s]. + double omega_ci = fabs(qi*B/mi); // Ion cyclotron frequency [rad/s]. + double rho_s = c_s/omega_ci; // Ion sound gyroradius [m] + double L_n = R*eps_n; // Density gradient scale length [m]. + double kz_min = kz_Ln/L_n; // Minimum parallel wavenumber [1/m]. + // Expected frequency from dispersion relation: + // double omega = kz_min*c_s*sqrt(2/beta_e/(1+beta_hat*pow(ky_rhos,2))); + double va = vte/sqrt(beta_hat); // Alfvén speed [m/s]. + // double omega = kz_min*va; // Shear Alfvén wave frequency [rad/s]. + double omega = sqrt(pow(kz_min*va,2)/(1+beta_hat*pow(kperp_rhos,2))); // KAW frequency [rad/s]. + // double omega = sqrt(pow(kz_min,2)*2/beta_e*pow(c_s,2)/(1+beta_hat*pow(ky_rhos,2))); + + double kperp = kperp_rhos/rho_s; // Minimum perpendicular wavenumber [1/m]. + double Lx = M_PI/kperp; // Domain length in x-direction [m]. + + // Grid parameters + int Nz = 12; // Reduce this to delay recurrence effect. + double z_min = -M_PI/kz_min; // Min z-coordinate [m]. + double z_max = M_PI/kz_min; // Max z-coordinate [m]. + int Nvpar = 16; // Increase this to delay recurrence effect. + double vpar_max_elc = 5.0*vte; // Max electron parallel velocity [m/s]. + double vpar_min_elc = -vpar_max_elc; // Min electron parallel velocity [m/s]. + double vpar_max_ion = 5.0*vti; // Max ion parallel velocity [m/s]. + double vpar_min_ion = -vpar_max_ion; // Min ion parallel + // The x and mu directions are not playing a role in the dynamics. + int Nx = 16; // Number of cells in x-direction. + double x_min = -Lx/2; + double x_max = Lx/2; + int Nmu = 2; + double mu_max_elc = me*pow(4*vte,2)/(2*B); // Max electron mu [J/T]. + double mu_max_ion = mi*pow(4*vti,2)/(2*B); // Max ion mu [J/T]. + int poly_order = 1; + + double t_end = nperiod*2*M_PI/omega; // End time [s]. + int num_frames = 1; + double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*1000; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 50; // Maximum allowable number of consecutive small time-steps. + + struct gk_app_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .mu0 = mu0, + .R = R, + .B = B, + .beta_hat = beta_hat, + .me = me, .qe = qe, + .mi = mi, .qi = qi, + .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, + + .Nx = Nx, + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .x_min = x_min, + .x_max = x_max, + .z_min = z_min, + .z_max = z_max, + .kperp = kperp, + .kz_min = kz_min, + .vpar_max_elc = vpar_max_elc, .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, .mu_max_ion = mu_max_ion, + .cells = {Nx, Nz, Nvpar, Nmu}, + .poly_order = poly_order, + + .t_end = t_end, .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + +int main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_app_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; d Date: Mon, 22 Dec 2025 11:42:39 -0500 Subject: [PATCH 069/181] The EM terms are now implemented with the latest gk field refactor. 1x2v and 2x2v em testcases are leak clean on CPU. will test GPU and MPI more thoroughly on Perlmutter. --- gyrokinetic/apps/gk_field.c | 281 +++++++++++++++++++- gyrokinetic/apps/gk_field_1x.c | 139 +++++++++- gyrokinetic/apps/gk_field_2x3x.c | 141 +++++++++- gyrokinetic/apps/gk_species.c | 133 ++++++--- gyrokinetic/apps/gk_species_collisionless.c | 67 ++++- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 24 ++ gyrokinetic/apps/gyrokinetic.c | 66 ++++- 7 files changed, 786 insertions(+), 65 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 81064610d9..06eb6e8fdb 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -68,9 +68,19 @@ gk_field_calc_energy_dt_active(gkyl_gyrokinetic_app *app, const struct gk_field app->stat.phidot_tm += gkyl_time_diff_now_sec(wst); } +static void +gk_field_calc_apar_energy_dt_active(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_integrate_advance(field->calc_em_energy, field->apar, + 1.0/dt, field->apar_energy_fac, &app->local, &app->local, energy_reduced); + app->stat.phidot_tm += gkyl_time_diff_now_sec(wst); +} + static void gk_field_calc_energy_dt_none(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced) { + // Do nothing. } static void @@ -122,6 +132,67 @@ gk_field_calc_energy_enabled(struct gkyl_gyrokinetic_app *app, const struct gk_f gkyl_dynvec_append(field->integ_energy_dot, tm, energy_dot_global); } + + if (field->is_em) { + // Calculate Aparallel energy. + gkyl_array_integrate_advance(field->calc_em_energy, field->apar, + 1.0, field->apar_energy_fac, &app->local, &app->local, field->em_energy_red); + + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->em_energy_red, field->em_energy_red_global); + + double energy_global[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_global, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_global[0] = field->em_energy_red_global[0]; + + if (app->cdim == 1) + energy_global[0] *= field->apar_energy_fac_1d; + + gkyl_dynvec_append(field->integ_apar_energy, tm, energy_global); + + // Calculate d(Aparallel)/dt energy. + gkyl_array_integrate_advance(field->calc_em_energy, field->apardot, + 1.0, field->apar_energy_fac, &app->local, &app->local, field->em_energy_red); + + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->em_energy_red, field->em_energy_red_global); + + double energy_dot_global[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_dot_global, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_dot_global[0] = field->em_energy_red_global[0]; + + // if (app->cdim == 1) + // energy_dot_global[0] *= field->apar_energy_fac_1d; + + gkyl_dynvec_append(field->integ_apardot_energy, tm, energy_dot_global); + + if (field->info.time_rate_diagnostics) { + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->apar_energy_red_old, field->em_energy_red_global); + double energy_dot_global_old[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_dot_global_old, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_dot_global_old[0] = field->em_energy_red_global[0]; + if (app->cdim == 1) + energy_dot_global_old[0] *= field->apar_energy_fac_1d; + + gkyl_comm_allreduce(app->comm, GKYL_DOUBLE, GKYL_SUM, 1, field->apar_energy_red_new, field->em_energy_red_global); + double energy_dot_global_new[1] = { 0.0 }; + if (app->use_gpu) + gkyl_cu_memcpy(energy_dot_global_new, field->em_energy_red_global, sizeof(double[1]), GKYL_CU_MEMCPY_D2H); + else + energy_dot_global_new[0] = field->em_energy_red_global[0]; + if (app->cdim == 1) + energy_dot_global_new[0] *= field->apar_energy_fac_1d; + + double energy_dot_global[1] = { 0.0 }; + energy_dot_global[0] = energy_dot_global_new[0] - energy_dot_global_old[0]; + + gkyl_dynvec_append(field->integ_apar_energy_dot, tm, energy_dot_global); + } + } } static void @@ -130,6 +201,60 @@ gk_field_calc_energy_disabled(struct gkyl_gyrokinetic_app *app, const struct gk_ // Do nothing. } +static void +gk_field_combine_enabled(struct gkyl_array *out, double c1, + const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, + const struct gkyl_range *rng) +{ + gkyl_array_accumulate_range(gkyl_array_set_range(out, c1, arr1, rng), + c2, arr2, rng); +} + +static void +gk_field_combine_disabled(struct gkyl_array *out, double c1, + const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, + const struct gkyl_range *rng) +{ + // Do nothing. +} + +static void +gk_field_step_apar_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, + const struct gkyl_array* inp) +{ + gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); + + // gkyl_array_clear_range(out, 0.0, &app->local_ext); + + // Smooth apar + // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, out, field->rho_c_global_dg); + // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); + // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); + // gkyl_array_copy_range_to_range(out, field->apar_fem, &app->local, &field->global_sub_range); + +} + +static void +gk_field_step_apar_disabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, + const struct gkyl_array* inp) +{ + // Do nothing. +} + +static void +gk_field_copy_range_enabled(struct gkyl_array *out, + const struct gkyl_array *inp, const struct gkyl_range *range) +{ + gkyl_array_copy_range(out, inp, range); +} + +static void +gk_field_copy_range_disabled(struct gkyl_array *out, + const struct gkyl_array *inp, const struct gkyl_range *range) +{ + // Do nothing. +} + static void gk_field_time_rate_diags_new(struct gkyl_gyrokinetic_app *app, struct gk_field *f) { @@ -147,6 +272,22 @@ gk_field_time_rate_diags_new(struct gkyl_gyrokinetic_app *app, struct gk_field * } f->integ_energy_dot = gkyl_dynvec_new(GKYL_DOUBLE, 1); f->is_first_energy_dot_write_call = true; + if (f->is_em){ + f->calc_apar_energy_dt_func = gk_field_calc_apar_energy_dt_active; + if (app->use_gpu) { + f->apar_energy_red_new = gkyl_cu_malloc(sizeof(double[1])); + f->apar_energy_red_old = gkyl_cu_malloc(sizeof(double[1])); + gkyl_cu_memset(f->apar_energy_red_new, 0, sizeof(double[1])); + gkyl_cu_memset(f->apar_energy_red_old, 0, sizeof(double[1])); + } else { + f->apar_energy_red_new = gkyl_malloc(sizeof(double[1])); + f->apar_energy_red_old = gkyl_malloc(sizeof(double[1])); + memset(f->apar_energy_red_new, 0, sizeof(double[1])); + memset(f->apar_energy_red_old, 0, sizeof(double[1])); + } + f->integ_apar_energy_dot = gkyl_dynvec_new(GKYL_DOUBLE, 1); + } + f->is_first_apar_energy_dot_write_call = true; } static void @@ -165,15 +306,22 @@ gk_field_energy_new(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->is_first_energy_write_call = true; f->calc_energy_func = gk_field_calc_energy_enabled; + f->calc_energy_dt_func = gk_field_calc_energy_dt_none; - - if (f->info.time_rate_diagnostics) { + f->calc_apar_energy_dt_func = gk_field_calc_energy_dt_none; + if (f->info.time_rate_diagnostics) gk_field_time_rate_diags_new(app, f); - } // Factors for ES energy. f->es_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); f->es_energy_fac_1d = 0.0; + + if (f->is_em) { + f->integ_apar_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); + f->integ_apardot_energy = gkyl_dynvec_new(GKYL_DOUBLE, 1); + f->apar_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); + f->apar_energy_fac_1d = 0; + } } static void @@ -188,6 +336,16 @@ gk_field_time_rate_diags_release(const struct gkyl_gyrokinetic_app *app, struct gkyl_free(f->em_energy_red_old); } gkyl_dynvec_release(f->integ_energy_dot); + if (f->is_em) { + if (app->use_gpu) { + gkyl_cu_free(f->apar_energy_red_new); + gkyl_cu_free(f->apar_energy_red_old); + } else { + gkyl_free(f->apar_energy_red_new); + gkyl_free(f->apar_energy_red_old); + } + gkyl_dynvec_release(f->integ_apar_energy_dot); + } } static void @@ -208,6 +366,12 @@ gk_field_energy_release(const struct gkyl_gyrokinetic_app *app, struct gk_field } gkyl_array_release(f->es_energy_fac); + + if (f->is_em) { + gkyl_dynvec_release(f->integ_apar_energy); + gkyl_dynvec_release(f->integ_apardot_energy); + gkyl_array_release(f->apar_energy_fac); + } } // Related to enforcing parallel Vlasov boundary conditions @@ -226,6 +390,25 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->info = gk->field; f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD_ES; + + f->is_em = f->info.gkfield_id == GKYL_GK_FIELD_EM || f->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; + // Ensure that if any species is electromagnetic, the field is electromagnetic. + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + f->is_em = f->is_em || s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM || + s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP || + s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPAR; + } + if (f->is_em) { + assert(f->info.mu0 > 0.0); + f->step_apar = gk_field_step_apar_enabled; + f->combine_func = gk_field_combine_enabled; + f->copy_func = gk_field_copy_range_enabled; + } else { + f->step_apar = gk_field_step_apar_disabled; + f->combine_func = gk_field_combine_disabled; + f->copy_func = gk_field_copy_range_disabled; + } f->calc_init_field = !f->info.zero_init_field; f->update_field = !f->info.is_static; @@ -269,6 +452,44 @@ gk_field_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field) app->stat.field_phi_solve_tm += gkyl_time_diff_now_sec(wst); } +void +gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) +{ + // Compute Apardot through Ohm's law. + struct timespec wst = gkyl_wall_clock(); + field->em_rhs_func(app, field, f_in, rhs_in); + app->stat.field_tm += gkyl_time_diff_now_sec(wst); +} + +void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field) +{ + struct timespec wst = gkyl_wall_clock(); + field->ampere_solve(app, field); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp) +{ + struct timespec wst = gkyl_wall_clock(); + field->step_apar(app, field, out, a, inp); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +void +gk_field_combine(struct gk_field *field, struct gkyl_array *out, double c1, + const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, + const struct gkyl_range *rng) +{ + field->combine_func(out, c1, arr1, c2, arr2, rng); +} + +void +gk_field_copy_range(struct gk_field *field, struct gkyl_array *out, + const struct gkyl_array *inp, const struct gkyl_range *range) +{ + field->copy_func(out, inp, range); +} + void gk_field_calc_energy(gkyl_gyrokinetic_app *app, double tm, const struct gk_field *field) { @@ -283,6 +504,12 @@ gk_field_calc_energy_dt(gkyl_gyrokinetic_app *app, const struct gk_field *field, field->calc_energy_dt_func(app, field, dt, energy_reduced); } +void +gk_field_calc_apar_energy_dt(gkyl_gyrokinetic_app *app, const struct gk_field *field, double dt, double *energy_reduced) +{ + field->calc_apar_energy_dt_func(app, field, dt, energy_reduced); +} + void gk_field_accumulate_rho_c_adiabatic(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gk_species *s, struct gkyl_array **bflux) { // Gyroaverage the density if needed. @@ -316,6 +543,54 @@ gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field, app->stat.field_phi_rhs_tm += gkyl_time_diff_now_sec(wst); } +void +gk_field_accumulate_current_dens(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_clear(field->currentDens, 0.0); + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + gk_species_moment_calc(&s->m1, s->local, app->local, fin[i]); + gkyl_array_accumulate_range(field->currentDens, s->info.charge, s->m1.marr, &app->local); + } + app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); +} + +void +gk_field_accumulate_current_dens_dot(gkyl_gyrokinetic_app *app, struct gk_field *field, + struct gkyl_array *rhs_in[]) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_clear(field->currentDensdot, 0.0); + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + + gk_species_moment_calc(&s->m1, s->local, app->local, rhs_in[i]); + + gkyl_array_accumulate_range(field->currentDensdot, s->info.charge, s->m1.marr, &app->local); + } + app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); +} + +void +gk_field_accumulate_ohms_kSq(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]) +{ + struct timespec wst = gkyl_wall_clock(); + gkyl_array_clear(field->dApartdtSlvr_kSq, 0.0); + for (int i=0; inum_species; ++i) { + struct gk_species *s = &app->species[i]; + gk_species_moment_calc(&s->m0, s->local, app->local, fin[i]); + // Gyroaverage the density if needed. + s->gyroaverage(app, s, s->m0.marr, s->m0_gyroavg); + // Use m0 to update also update the kSq matrix for the Ohm's law solver. + double fac = s->info.charge*s->info.charge/s->info.mass; + gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg, &app->local); + } + app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); +} + void gk_field_fem_projection_par(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *arr_dg, struct gkyl_array *arr_fem) { diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index a26b84ab45..28d3568fcf 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -19,6 +19,68 @@ gk_field_rhs_phi_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field) gk_field_fem_projection_par(app, field, field->rho_c, field->phi_smooth); } +static void +gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + + // Compute the LHS factor (= k_perp^2/mu_0 + sum_s q_s^2 n_s/m_s) + // gkyl_array_set(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq); + gkyl_array_clear(field->dApartdtSlvr_lhs_factor, 0.0); + gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq, &app->local); + gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->lapWeightAmpere, &app->local); + + // Weak division method dApar/dt = sum_s q_s int dv vpar d/dt(F_s) / ( (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) ) + gkyl_dg_div_op_range(field->div_mem, app->basis, 0, field->apardot, 0, field->currentDensdot, + 0, field->dApartdtSlvr_lhs_factor, &app->local); + + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); + + // // Smooth apardot + // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->apardot, field->rho_c_global_dg); + // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); + // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); + // gkyl_array_copy_range_to_range(field->apardot, field->apar_fem, &app->local, &field->global_sub_range); + +} + +static void +gk_field_ampere_solve_1x_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + + + // Weak division method Apar = sum_s q_s int dv vpar F_s / (k_perp^2/mu_0) + gkyl_dg_div_op_range(field->div_mem, app->basis, 0, field->apar, 0, field->currentDens, + 0, field->lapWeightAmpere, &app->local); + + // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->currentDens, field->currentDens_global); + + // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->currentDens_global, field->currentDens_global); + // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->phi_fem); + + // gkyl_array_copy_range_to_range(field->apar, field->phi_fem, &app->local, &field->global_sub_range); + + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_ampere_solve_1x_none(gkyl_gyrokinetic_app *app, struct gk_field *field){ + // Do nothing. +} + +static void +gk_field_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) +{ + gk_field_accumulate_current_dens_dot(app, field, rhs_in); + gk_field_accumulate_ohms_kSq(app, field, f_in); + gk_field_ohm_solve_1x(app, field); +} + +static void +gk_field_em_rhs_none(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) +{ + // Do nothing. +} + static void gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) { @@ -26,10 +88,26 @@ gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->rho_c_global_dg); gkyl_array_release(f->phi_smooth); gkyl_array_release(f->phi_fem); + gkyl_array_release(f->apar); + gkyl_array_release(f->apardot); - if (f->gkfield_id == GKYL_GK_FIELD_EM) { + if (f->is_em) { + gkyl_array_release(f->apar_curr); + gkyl_array_release(f->apar1); + gkyl_array_release(f->aparnew); gkyl_array_release(f->apar_fem); - gkyl_array_release(f->apardot_fem); + gkyl_array_release(f->currentDens); + gkyl_array_release(f->currentDensdot); + gkyl_array_release(f->currentDens_global); + gkyl_array_release(f->dApartdtSlvr_lhs_factor); + gkyl_array_release(f->lapWeightAmpere); + gkyl_array_release(f->dApartdtSlvr_kSq); + gkyl_dg_bin_op_mem_release(f->div_mem); + gkyl_fem_parproj_release(f->fem_apar_parproj); + if (app->use_gpu) { + gkyl_array_release(f->apar_host); + gkyl_array_release(f->apardot_host); + } } if (app->use_gpu) { @@ -61,11 +139,50 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Allocate arrays for electrostatic potential. f->phi_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->phi_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + + // Allocate additional arrays for EM case. + if (f->is_em) { + f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); + + f->apar_host = f->apar; + f->apardot_host = f->apardot; + if (app->use_gpu) { + f->apar_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + f->apardot_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + } - // Allocate electromagnetic arrays if needed. - if (f->gkfield_id == GKYL_GK_FIELD_EM) { - f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apardot_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->currentDens = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->currentDensdot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->lapWeightAmpere = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); + f->dApartdtSlvr_kSq = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + + f->currentDens_global = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); + f->dApartdtSlvr_lhs_factor = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->div_mem = app->use_gpu? gkyl_dg_bin_op_mem_cu_dev_new(app->local.volume, app->basis.num_basis) + : gkyl_dg_bin_op_mem_new(app->local.volume, app->basis.num_basis); + + // Need to set weight to kperpsq*polarizationWeight for use in potential smoothing. + gkyl_array_copy(f->lapWeightAmpere, app->gk_geom->geo_int.jacobgeo); + gkyl_array_scale(f->lapWeightAmpere, f->info.kperpSq/f->info.mu0); + + f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; + for (int d=0; dnum_periodic_dir; ++d) + if (app->periodic_dirs[d] == app->cdim-1) f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_PERIODIC; + + f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, + f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); + + f->ampere_solve = gk_field_ampere_solve_1x_enabled; + f->em_rhs_func = gk_field_em_rhs_enabled; + + assert(f->info.mu0 > 0.0); + f->apar_energy_fac_1d = 0.5/f->info.mu0 * f->info.kperpSq; + f->apar_energy_fac_1d *= -1.0; // the -1 is to be consistent with ES energy. } // Allocate phi_host for I/O. @@ -74,7 +191,15 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->phi_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); } + // Set function pointers. f->rhs_phi_func = gk_field_rhs_phi_1x; + if (f->is_em) { + f->em_rhs_func = gk_field_em_rhs_none; + f->ampere_solve = gk_field_ampere_solve_1x_none; + } else { + f->em_rhs_func = gk_field_em_rhs_none; + f->ampere_solve = gk_field_ampere_solve_1x_none; + } // Allocate array for the polarization weight times geometric coefficients. f->epsilon = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); @@ -135,7 +260,7 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) fem_parproj_bc, epsilon_global, 0, app->use_gpu); } - f->es_energy_fac_1d = polarization_weight*f->info.kperpSq + es_energy_fac_1d_adiabatic; + f->es_energy_fac_1d = 0.5*polarization_weight*f->info.kperpSq + es_energy_fac_1d_adiabatic; f->calc_em_energy = gkyl_array_integrate_new(&app->grid, &app->basis, 1, GKYL_ARRAY_INTEGRATE_OP_SQ, app->use_gpu); diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 403e2ff32c..2e256381ec 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -121,6 +121,53 @@ gk_field_rhs_deflate_poisson_es_iwl(struct gkyl_gyrokinetic_app *app, struct gk_ field->enforce_parallel_bc_func(app, field, field->phi_smooth); } +static void +gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + + // The update of kSq is causing issues with leaks and valgrind. + // gkyl_fem_poisson_perp_update_kSq(field->fem_apardot_solver, field->dApartdtSlvr_kSq); + + // Temporary solution to avoid superLU leak when updating kSq: we release and re-create the solver + gkyl_fem_poisson_perp_release(field->fem_apardot_solver); + field->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &field->ampere_bcs, field->lapWeightAmpere, field->dApartdtSlvr_kSq, app->use_gpu); + + gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); + gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); + + // gkyl_array_clear_range(field->apardot, 0.0, &app->local_ext); + + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field){ + struct timespec wst = gkyl_wall_clock(); + gkyl_fem_poisson_perp_set_rhs(field->fem_apar_solver, field->currentDens); + gkyl_fem_poisson_perp_solve(field->fem_apar_solver, field->apar); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); +} + +static void +gk_field_ampere_solve_none(gkyl_gyrokinetic_app *app, struct gk_field *field){ + // Do nothing. +} + +static void +gk_field_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) +{ + gk_field_accumulate_current_dens_dot(app, field, rhs_in); + gk_field_accumulate_ohms_kSq(app, field, f_in); + gk_field_ohm_solve(app, field); +} + +static void +gk_field_em_rhs_none(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) +{ + // Do nothing. +} + static void gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) { @@ -129,10 +176,26 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->rho_c_global_smooth); gkyl_array_release(f->phi_fem); gkyl_array_release(f->phi_smooth); + gkyl_array_release(f->apar); + gkyl_array_release(f->apardot); - if (f->gkfield_id == GKYL_GK_FIELD_EM) { + if (f->is_em) { + gkyl_array_release(f->apar_curr); + gkyl_array_release(f->apar1); + gkyl_array_release(f->aparnew); gkyl_array_release(f->apar_fem); - gkyl_array_release(f->apardot_fem); + gkyl_array_release(f->currentDens); + gkyl_array_release(f->currentDensdot); + gkyl_array_release(f->lapWeightAmpere); + gkyl_array_release(f->dApartdtSlvr_kSq); + gkyl_array_release(f->currentDens_global); + gkyl_fem_parproj_release(f->fem_apar_parproj); + gkyl_fem_poisson_perp_release(f->fem_apar_solver); + gkyl_fem_poisson_perp_release(f->fem_apardot_solver); + if (app->use_gpu) { + gkyl_array_release(f->apar_host); + gkyl_array_release(f->apardot_host); + } } if (app->use_gpu) { @@ -183,11 +246,28 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Allocate arrays for electrostatic potential. f->phi_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->phi_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + + f->em_rhs_func = gk_field_em_rhs_none; + // Setup electromagnetic variables if needed. + if (f->is_em) { + f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); + + f->apar_host = f->apar; + f->apardot_host = f->apardot; + if (app->use_gpu) { + f->apar_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + f->apardot_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + } - // Allocate electromagnetic arrays if needed. - if (f->gkfield_id == GKYL_GK_FIELD_EM) { - f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apardot_fem = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->currentDens = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->currentDensdot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->lapWeightAmpere = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); + f->dApartdtSlvr_kSq = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); } // Allocate phi_host for I/O. @@ -202,6 +282,9 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->accumulate_rhoc_func = gk_field_accumulate_rho_c_poisson; } + f->ampere_solve = gk_field_ampere_solve_none; + f->em_rhs_func = gk_field_em_rhs_none; + double polarization_weight = 0.0; double polarization_bmag = f->info.polarization_bmag ? f->info.polarization_bmag : app->bmag_ref; // Linearized polarization density @@ -218,6 +301,14 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_set_offset(f->epsilon, polarization_weight, Jgij[i], i*app->basis.num_basis); } + if (f->is_em) { + // Compute the weights in front of the laplacian operator (metric x 1/mu0) + for (int i=0; icdim-2/app->cdim; i++) { + gkyl_array_set_offset(f->lapWeightAmpere, 1.0/f->info.mu0, Jgij[i], i*app->basis.num_basis); + } + gkyl_array_set(f->apar_energy_fac, -0.5, f->lapWeightAmpere); + } + // Translate input file BCs into Poisson BCs. struct gkyl_poisson_bc poisson_bcs = { }; @@ -327,6 +418,44 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) fem_parproj_bc, 0, 0, app->use_gpu); } + // Setup EM solvers. + if (f->is_em) { + // Translate input file BCs into Ampere BCs. + for (int d=0; dcdim-1; d++) { + if (bc_is_np[d]) { + struct gkyl_gyrokinetic_bc *bc_lo = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_LOWER_EDGE); + if (bc_lo != 0) { + f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_lo->type); + for (int i=0; i<3; i++) + f->ampere_bcs.lo_value[d].v[i] = bc_lo->value[i]; + } + + struct gkyl_gyrokinetic_bc *bc_up = gk_fetch_bc_with_dir_edge(f->info.ampere_bcs, 2*app->cdim, d, GKYL_UPPER_EDGE); + if (bc_up != 0) { + f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(bc_up->type); + for (int i=0; i<3; i++) + f->ampere_bcs.up_value[d].v[i] = bc_up->value[i]; + } + } else { + f->ampere_bcs.lo_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(GKYL_BC_GK_FIELD_PERIODIC); + f->ampere_bcs.up_type[d] = gkyl_gyrokinetic_translate_poisson_bc_type(GKYL_BC_GK_FIELD_PERIODIC); + } + } + // FEM solver for Ampere equation (solved at IC only). + f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &f->ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); + // FEM solver for Ohm's law (evolves d(Apart)/dt). + f->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, + &f->ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + // FEM smoother for Aparallel. + f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; + f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, + f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); + + f->ampere_solve = gk_field_ampere_solve_enabled; + f->em_rhs_func = gk_field_em_rhs_enabled; + } + gkyl_array_set(f->es_energy_fac, 0.5, f->epsilon); f->calc_em_energy = gkyl_array_integrate_new(&app->grid, &app->basis, diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 4074d267d0..63235031fd 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -73,7 +73,52 @@ gk_species_omegaH_dt(gkyl_gyrokinetic_app *app, struct gk_species *gks, const st } } +static void +gk_species_update_bflux_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + // Compute and store (in the ghost cell of rhs) the boundary fluxes. + gk_species_bflux_rhs(app, &species->bflux, fin, rhs); + + // Compute diagnostic moments of the boundary fluxes. + gk_species_bflux_calc_moms(app, &species->bflux, rhs, bflux_moms); +} + static double +gk_species_get_cfl_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + // Reduce the CFL frequency anc compute stable dt needed by this species. + app->stat.n_species_omega_cfl +=1; + struct timespec tm = gkyl_wall_clock(); + gkyl_array_reduce_range(species->omega_cfl, species->cflrate, GKYL_MAX, &species->local); + + double omega_cfl_ho[1]; + if (app->use_gpu) { + gkyl_cu_memcpy(omega_cfl_ho, species->omega_cfl, sizeof(double), GKYL_CU_MEMCPY_D2H); + } + else { + omega_cfl_ho[0] = species->omega_cfl[0]; + } + double dt_out = app->cfl/omega_cfl_ho[0]; + + // Enforce the omega_H constraint on dt. + double dt_omegaH = gk_species_omegaH_dt(app, species, fin); + dt_out = fmin(dt_out, dt_omegaH); + + app->stat.species_omega_cfl_tm += gkyl_time_diff_now_sec(tm); + return dt_out; +} + +static double +gk_species_get_cfl_static(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + double omega_cfl = 1/DBL_MAX; + return app->cfl/omega_cfl; +} + +static void gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { @@ -110,36 +155,17 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, // Heating source. gk_species_heating_rhs(app, species, &species->heat_src, fin, rhs); +} - // Compute and store (in the ghost cell of rhs and in an array in bflux) the boundary fluxes. - gk_species_bflux_rhs(app, &species->bflux, fin, rhs); - - // Compute moments of the boundary fluxes. - gk_species_bflux_calc_moms(app, &species->bflux, rhs, bflux_moms); - - // Multiply CFL rate by the df/dt multiplier. - gk_species_fdot_multiplier_advance_times_cfl(app, species, &species->fdot_mult, app->field->phi_smooth, species->cflrate); - - // Reduce the CFL frequency anD compute stable dt needed by this species. - app->stat.n_species_omega_cfl +=1; - struct timespec tm = gkyl_wall_clock(); - gkyl_array_reduce_range(species->omega_cfl, species->cflrate, GKYL_MAX, &species->local); +static void +gk_species_add_apardot_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + struct timespec wst = gkyl_wall_clock(); - double omega_cfl_ho[1]; - if (app->use_gpu) { - gkyl_cu_memcpy(omega_cfl_ho, species->omega_cfl, sizeof(double), GKYL_CU_MEMCPY_D2H); - } - else { - omega_cfl_ho[0] = species->omega_cfl[0]; - } - double dt_out = app->cfl/omega_cfl_ho[0]; - - // Enforce the omega_H constraint on dt. - double dt_omegaH = gk_species_omegaH_dt(app, species, fin); - dt_out = fmin(dt_out, dt_omegaH); + gk_species_collisionless_add_apardot_rhs(app, species, &species->collisionless, fin, rhs); - app->stat.species_omega_cfl_tm += gkyl_time_diff_now_sec(tm); - return dt_out; + app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); } static double @@ -172,12 +198,11 @@ gk_species_rhs_implicit_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *sp return app->cfl/omega_cfl; } -static double +static void gk_species_rhs_static(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - double omega_cfl = 1/DBL_MAX; - return app->cfl/omega_cfl; + // Do nothing. } static double @@ -952,6 +977,12 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; + if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM || gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP) + gks->add_apardot_rhs_func = gk_species_add_apardot_dynamic; + else + gks->add_apardot_rhs_func = gk_species_rhs_static; + gks->bflux_update = gk_species_update_bflux_dynamic; + gks->get_cfl = gk_species_get_cfl_dynamic; gks->bc_func = gk_species_apply_bc_dynamic; gks->release_func = gk_species_release_dynamic; gks->step_f_func = gk_species_step_f_dynamic; @@ -986,6 +1017,9 @@ gk_species_init_static(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app * // Set function pointers. gks->rhs_func = gk_species_rhs_static; gks->rhs_implicit_func = gk_species_rhs_implicit_static; + gks->add_apardot_rhs_func = gk_species_rhs_static; + gks->bflux_update = gk_species_rhs_static; + gks->get_cfl = gk_species_get_cfl_static; gks->bc_func = gk_species_apply_bc_static; gks->release_func = gk_species_release_static; gks->step_f_func = gk_species_step_f_static; @@ -1479,6 +1513,16 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->gyro_phi = gkyl_array_acquire(app->field->phi_smooth); } + // We do not have FLR effects for EM yet. + if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_ES) + gks->gyro_apar = gkyl_array_acquire(app->field->apar); + else + gks->gyro_apar = gkyl_array_acquire(app->field->apar_curr); + gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); + + // To compute current density for Ampere's law and current dot for Ohm's law. + gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); + // Initialize the collisionless solver. gks->collisionless = (struct gk_collisionless) { }; gk_species_collisionless_init(app, gks, &gks->collisionless); @@ -1762,11 +1806,32 @@ gk_species_apply_ic_cross(gkyl_gyrokinetic_app *app, struct gk_species *gks_self } } -double +void gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - return species->rhs_func(app, species, fin, rhs, bflux_moms); + species->rhs_func(app, species, fin, rhs, bflux_moms); +} + +void +gk_species_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + species->add_apardot_rhs_func(app, species, fin, rhs, bflux_moms); +} + +void +gk_species_update_bflux(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + species->bflux_update(app, species, fin, rhs, bflux_moms); +} + +double +gk_species_get_cfl(gkyl_gyrokinetic_app *app, struct gk_species *species, + const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) +{ + return species->get_cfl(app, species, fin, rhs, bflux_moms); } double @@ -1921,5 +1986,9 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *s) gkyl_deflated_fem_poisson_release(s->flr_op); } + gkyl_array_release(s->gyro_apar); + gkyl_array_release(s->gyro_apardot); + gk_species_moment_release(app, &s->m1); + s->release_func(app, s); } diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index a3f41128c0..c610b72336 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -20,7 +20,7 @@ gk_species_collisionless_flux_enabled(gkyl_gyrokinetic_app *app, struct gk_speci // where they are not defined. gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_op, &app->local, &species->local, &app->local_ext, &species->local_ext, - species->gyro_phi, fin, gkcls->flux_surf, species->cflrate); + species->gyro_phi, species->gyro_apar, fin, gkcls->flux_surf, species->cflrate); } static void @@ -45,6 +45,25 @@ gk_species_collisionless_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_specie app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); } +static void gk_species_collisionless_add_apardot_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) +{ + struct timespec wst = gkyl_wall_clock(); + + // First remove the current ES+Apar contribution from the flux_surf array. + // Otherwise it will be counted twice in the gkyl_dg update. + gkyl_array_clear(gkcls->flux_surf, 0.0); + gkyl_gk_collisionless_flux_surf(gkcls->add_apardot_surf_flux_op, + &app->local, &species->local, &app->local_ext, &species->local_ext, + species->gyro_phi, species->gyro_apar, fin, gkcls->flux_surf, species->cflrate); + + // Advance the rhs adding only the Apardot volume contribution. + gkyl_dg_updater_gyrokinetic_advance(gkcls->add_apardot_slvr, &species->local, + fin, species->cflrate, rhs); + + app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); +} + static void gk_species_collisionless_fdot_scaling_disabled(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, struct gkyl_array *rhs, struct gkyl_array *cflrate, struct gkyl_range *rng) @@ -81,11 +100,13 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie struct gk_collisionless *gkcls) { gkcls->collisionless_id = gks->info.collisionless.type; + gkcls->no_by = gks->info.collisionless.no_by; gkcls->write_diagnostics = gks->info.collisionless.write_diagnostics; gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; gkcls->flux_func = gk_species_collisionless_flux_disabled; gkcls->rhs_func = gk_species_collisionless_rhs_disabled; + gkcls->add_apardot_rhs_func = gk_species_collisionless_rhs_disabled; if (gkcls->collisionless_id) { @@ -123,32 +144,23 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Allocate arrays to store surface phase space flux. gkcls->flux_surf = mkarr(app->use_gpu, flux_surf_sz, gks->local_ext.volume); - if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { - // Parallel component of magnetic vector potential. - gkcls->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - gkcls->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - } - else { - gkcls->apar = gkyl_array_acquire(app->field->phi_smooth); // Not used. - gkcls->apardot = gkyl_array_acquire(app->field->phi_smooth); // Not used. - } - enum gkyl_gyrokinetic_bc_type bctype_conf[2*GKYL_MAX_CDIM]; for (int d=0; dcdim; d++) { bctype_conf[d] = gks->lower_bc[d].type; bctype_conf[GKYL_MAX_CDIM+d] = gks->upper_bc[d].type; } + bool only_apardot = false; gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, - .phi = gks->gyro_phi, .apar = gkcls->apar, .apardot = gkcls->apardot }; + .phi = gks->gyro_phi, .apar = gks->gyro_apar, .apardot = gks->gyro_apardot }; // Create solver. gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); gkcls->scale_fac = -1.0; // Not used if scale_factor in input file is not given. @@ -164,6 +176,21 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie if (gkcls->write_diagnostics) { gkcls->write_diags_func = gk_species_collisionless_write_diags_enabled; } + // Electromagnetic set up. + if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM || gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { + only_apardot = true; + // Create a special flux operator that only adds the AparDot contribution. + gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, + app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); + // Create solver that only adds AparDot terms. + gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, + gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, + &aux_inp, app->use_gpu); + // Methods chosen at runtime. + gkcls->add_apardot_rhs_func = gk_species_collisionless_add_apardot_rhs_enabled; + } } } @@ -181,6 +208,13 @@ gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *speci gkcls->rhs_func(app, species, gkcls, fin, rhs); } +void +gk_species_collisionless_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) +{ + gkcls->add_apardot_rhs_func(app, species, gkcls, fin, rhs); +} + void gk_species_collisionless_write_diags(gkyl_gyrokinetic_app* app, struct gk_species *gks, struct gk_collisionless *gkcls, double tm, int frame) @@ -200,6 +234,11 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); + if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM || gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { + gkyl_gk_collisionless_flux_release(gkcls->add_apardot_surf_flux_op); + gkyl_dg_updater_gyrokinetic_release(gkcls->add_apardot_slvr); + } + if (gkcls->write_diagnostics) { } } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index f6e81425b7..84c71c5675 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1351,6 +1351,8 @@ struct gk_field { // Pointer to function to calculate the potential. void (*rhs_phi_func) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); + void (*em_rhs_func) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]); + void (*calc_energy_func) (gkyl_gyrokinetic_app *app, const struct gk_field *field, double tm); void (*accumulate_rhoc_func) (gkyl_gyrokinetic_app *app, struct gk_field *field, struct gk_species *s, struct gkyl_array **bflux); @@ -4020,6 +4022,28 @@ void gk_field_accumulate_rho_c(gkyl_gyrokinetic_app *app, struct gk_field *field void gk_field_accumulate_current_dens(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *fin[]); +/** + * Accumulate time derivative of current density for Ohm solve. + * + * @param app gyrokinetic app object. + * @param field Pointer to field. + * @param rhs_in[] right-hand side of the ES GK equation for each species. + */ +void +gk_field_accumulate_current_dens_dot(gkyl_gyrokinetic_app *app, struct gk_field *field, + struct gkyl_array *rhs_in[]); + +/** + * Accumulate kSq term for Ohm solve. + * + * @param app gyrokinetic app object. + * @param field Pointer to field. + * @param fin[] Input distribution function (num_species size). + */ +void +gk_field_accumulate_ohms_kSq(gkyl_gyrokinetic_app *app, struct gk_field *field, + const struct gkyl_array *fin[]); + /** * Compute initial magnetic vector parallel component * diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 8065d8c90e..3263e4eddd 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1248,6 +1248,7 @@ gkyl_gyrokinetic_app_calc_field_energy(gkyl_gyrokinetic_app* app, double tm) } } + void gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) { @@ -1259,22 +1260,46 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) char fileNm0[sz0+1]; // ensures no buffer overflow snprintf(fileNm0, sizeof fileNm0, fmt0, app->name); + const char *fmt0_apar = "%s-apar_energy.gkyl"; + int sz0_apar = gkyl_calc_strlen(fmt0_apar, app->name); + char fileNm0_apar[sz0_apar+1]; // ensures no buffer overflow + snprintf(fileNm0_apar, sizeof fileNm0_apar, fmt0_apar, app->name); + + const char *fmt0_apardot = "%s-apardot_energy.gkyl"; + int sz0_apardot = gkyl_calc_strlen(fmt0_apardot, app->name); + char fileNm0_apardot[sz0_apardot+1]; // ensures no buffer overflow + snprintf(fileNm0_apardot, sizeof fileNm0_apardot, fmt0_apardot, app->name); + int rank; gkyl_comm_get_rank(app->comm, &rank); + bool write_em = app->field->is_em; if (rank == 0) { if (app->field->is_first_energy_write_call) { // Write to a new file (this ensure previous output is removed). gkyl_dynvec_write(app->field->integ_energy, fileNm0); + + if (write_em) { + gkyl_dynvec_write(app->field->integ_apar_energy, fileNm0_apar); + gkyl_dynvec_write(app->field->integ_apardot_energy, fileNm0_apardot); + } app->field->is_first_energy_write_call = false; } else { // Append to existing file. gkyl_dynvec_awrite(app->field->integ_energy, fileNm0); + if (write_em) { + gkyl_dynvec_awrite(app->field->integ_apar_energy, fileNm0_apar); + gkyl_dynvec_awrite(app->field->integ_apardot_energy, fileNm0_apardot); + } } app->stat.n_field_diag_io += 1; } gkyl_dynvec_clear(app->field->integ_energy); + if (write_em) { + gkyl_dynvec_clear(app->field->integ_apar_energy); + gkyl_dynvec_clear(app->field->integ_apardot_energy); + } if (app->field->info.time_rate_diagnostics) { // Write out the time rate of change of the field energy. @@ -1296,6 +1321,27 @@ gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) app->stat.n_field_diag_io += 1; } gkyl_dynvec_clear(app->field->integ_energy_dot); + if (write_em) { + // Write out the time rate of change of the field energy. + const char *fmt2 = "%s-apar_energy_dot.gkyl"; + int sz2 = gkyl_calc_strlen(fmt2, app->name); + char fileNm2[sz2+1]; // ensures no buffer overflow + snprintf(fileNm2, sizeof fileNm2, fmt2, app->name); + + if (rank == 0) { + if (app->field->is_first_apar_energy_dot_write_call) { + // Write to a new file (this ensure previous output is removed). + gkyl_dynvec_write(app->field->integ_apar_energy_dot, fileNm2); + app->field->is_first_apar_energy_dot_write_call = false; + } + else { + // Append to existing file. + gkyl_dynvec_awrite(app->field->integ_apar_energy_dot, fileNm2); + } + app->stat.n_field_diag_io += 1; + } + gkyl_dynvec_clear(app->field->integ_apar_energy_dot); + } } app->stat.field_diag_io_tm += gkyl_time_diff_now_sec(wtm); @@ -1841,7 +1887,8 @@ gkyl_gyrokinetic_app_write(gkyl_gyrokinetic_app* app, double tm, int frame) void gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, const struct gkyl_array *fin[], struct gkyl_array *fout[], struct gkyl_array **bflux_out[], - const struct gkyl_array *fin_neut[], struct gkyl_array *fout_neut[], struct gkyl_array **bflux_out_neut[], + const struct gkyl_array *fin_neut[], struct gkyl_array *fout_neut[], struct gkyl_array **bflux_out_neut[], + const struct gkyl_array *aparin, struct gkyl_array *aparout, struct gkyl_update_status *st) { double dtmin = DBL_MAX; @@ -1885,8 +1932,8 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, // Compute df/dt (not including sources). for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - double dt1 = gk_species_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); - dtmin = fmin(dtmin, dt1); + gk_species_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); + gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); } for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gk_ns = &app->neut_species[i]; @@ -1904,6 +1951,19 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, &app->neut_species[i].src, fin_neut[i], fout_neut[i]); } + // Compute Apardot (solves Ohm's law using the previously built RHS). + gk_field_em_rhs(app, app->field, fin, fout); + // Update aparout. + gk_field_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); + + // Add Apardot contributions to the collisionless update of charged species. + for (int i=0; inum_species; ++i) { + struct gk_species *gk_s = &app->species[i]; + gk_species_add_apardot_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); + double dt1 = gk_species_get_cfl(app, gk_s, fin[i], fout[i], bflux_out[i]); + dtmin = fmin(dtmin, dt1); + } + // Multiply dfdt by a factor. for (int i=0; inum_species; ++i) { struct gk_species *gks = &app->species[i]; From 3d1ecbd4cdb84b307c0090df15fe9cdef676e67b Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 22 Dec 2025 13:35:32 -0500 Subject: [PATCH 070/181] EM function pointers were not activated correctly in gk_field_1x after the refactor. (KAW test is still correct.) --- gyrokinetic/apps/gk_field_1x.c | 7 ++----- gyrokinetic/apps/gk_field_2x3x.c | 6 ++---- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index 28d3568fcf..5214ec630a 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -177,9 +177,6 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); - f->ampere_solve = gk_field_ampere_solve_1x_enabled; - f->em_rhs_func = gk_field_em_rhs_enabled; - assert(f->info.mu0 > 0.0); f->apar_energy_fac_1d = 0.5/f->info.mu0 * f->info.kperpSq; f->apar_energy_fac_1d *= -1.0; // the -1 is to be consistent with ES energy. @@ -194,8 +191,8 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Set function pointers. f->rhs_phi_func = gk_field_rhs_phi_1x; if (f->is_em) { - f->em_rhs_func = gk_field_em_rhs_none; - f->ampere_solve = gk_field_ampere_solve_1x_none; + f->em_rhs_func = gk_field_em_rhs_enabled; + f->ampere_solve = gk_field_ampere_solve_1x_enabled; } else { f->em_rhs_func = gk_field_em_rhs_none; f->ampere_solve = gk_field_ampere_solve_1x_none; diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 2e256381ec..82eb06432a 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -249,7 +249,6 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->em_rhs_func = gk_field_em_rhs_none; // Setup electromagnetic variables if needed. if (f->is_em) { f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); @@ -282,9 +281,6 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->accumulate_rhoc_func = gk_field_accumulate_rho_c_poisson; } - f->ampere_solve = gk_field_ampere_solve_none; - f->em_rhs_func = gk_field_em_rhs_none; - double polarization_weight = 0.0; double polarization_bmag = f->info.polarization_bmag ? f->info.polarization_bmag : app->bmag_ref; // Linearized polarization density @@ -418,6 +414,8 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) fem_parproj_bc, 0, 0, app->use_gpu); } + f->ampere_solve = gk_field_ampere_solve_none; + f->em_rhs_func = gk_field_em_rhs_none; // Setup EM solvers. if (f->is_em) { // Translate input file BCs into Ampere BCs. From 0189c183d4f687b6133e0b2e48b3f6511a3ce71f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 22 Dec 2025 15:11:11 -0500 Subject: [PATCH 071/181] =?UTF-8?q?caught=20a=20sign=20error=20in=20the=20?= =?UTF-8?q?setting=20of=20Ohm's=20law=20for=202x2v=20My=20collection=20is?= =?UTF-8?q?=20increasing:=20=F0=9F=90=9B=F0=9F=AA=B2=F0=9F=AA=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gyrokinetic/apps/gk_field.c | 2 +- gyrokinetic/apps/gk_field_1x.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 06eb6e8fdb..f759a5e2b3 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -585,7 +585,7 @@ gk_field_accumulate_ohms_kSq(gkyl_gyrokinetic_app *app, struct gk_field *field, // Gyroaverage the density if needed. s->gyroaverage(app, s, s->m0.marr, s->m0_gyroavg); // Use m0 to update also update the kSq matrix for the Ohm's law solver. - double fac = s->info.charge*s->info.charge/s->info.mass; + double fac = -s->info.charge*s->info.charge/s->info.mass; gkyl_array_accumulate_range(field->dApartdtSlvr_kSq, fac, s->m0_gyroavg, &app->local); } app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index 5214ec630a..06c20df08a 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -26,7 +26,7 @@ gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ // Compute the LHS factor (= k_perp^2/mu_0 + sum_s q_s^2 n_s/m_s) // gkyl_array_set(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq); gkyl_array_clear(field->dApartdtSlvr_lhs_factor, 0.0); - gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->dApartdtSlvr_kSq, &app->local); + gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor,-1.0, field->dApartdtSlvr_kSq, &app->local); gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->lapWeightAmpere, &app->local); // Weak division method dApar/dt = sum_s q_s int dv vpar d/dt(F_s) / ( (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) ) From abe304bf6c09d7fdbb1147b09961aeb6883e5b4c Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 22 Dec 2025 15:29:00 -0500 Subject: [PATCH 072/181] update alfven 2x2v regression test --- gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c index 8f186a7c16..6eeeefe4cb 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c @@ -200,13 +200,13 @@ create_ctx(void) int Nz = 12; // Reduce this to delay recurrence effect. double z_min = -M_PI/kz_min; // Min z-coordinate [m]. double z_max = M_PI/kz_min; // Max z-coordinate [m]. - int Nvpar = 16; // Increase this to delay recurrence effect. - double vpar_max_elc = 5.0*vte; // Max electron parallel velocity [m/s]. + int Nvpar = 24; // Increase this to delay recurrence effect. + double vpar_max_elc = 6.0*vte; // Max electron parallel velocity [m/s]. double vpar_min_elc = -vpar_max_elc; // Min electron parallel velocity [m/s]. - double vpar_max_ion = 5.0*vti; // Max ion parallel velocity [m/s]. + double vpar_max_ion = 6.0*vti; // Max ion parallel velocity [m/s]. double vpar_min_ion = -vpar_max_ion; // Min ion parallel // The x and mu directions are not playing a role in the dynamics. - int Nx = 16; // Number of cells in x-direction. + int Nx = 2; // Number of cells in x-direction. double x_min = -Lx/2; double x_max = Lx/2; int Nmu = 2; From b9111933390d00c9e586bcc8558002f6eec97a39 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 22 Dec 2025 14:08:21 -0800 Subject: [PATCH 073/181] EM frames wirting disapeared during the merge with main --- gyrokinetic/apps/gyrokinetic.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 3263e4eddd..1f7625c8a1 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1228,6 +1228,27 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); + if (app->field->is_em) { + // Copy data from device to host before writing it out. + if (app->use_gpu) { + gkyl_array_copy(app->field->apar_host, app->field->apar); + gkyl_array_copy(app->field->apardot_host, app->field->apardot); + } + const char *fmt_apar = "%s-apar_%d.gkyl"; + int sz_apar = gkyl_calc_strlen(fmt_apar, app->name, frame); + char fileNm_apar[sz_apar+1]; // ensures no buffer overflow + snprintf(fileNm_apar, sizeof fileNm_apar, fmt_apar, app->name, frame); + + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm_apar); + + const char *fmt_apardot = "%s-apardot_%d.gkyl"; + int sz_apardot = gkyl_calc_strlen(fmt_apardot, app->name, frame); + char fileNm_apardot[sz_apardot+1]; // ensures no buffer overflow + snprintf(fileNm_apardot, sizeof fileNm_apardot, fmt_apardot, app->name, frame); + + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm_apardot); + } + gk_array_meta_release(mt); app->stat.field_io_tm += gkyl_time_diff_now_sec(wtm); From b3dccac9c6814ba671261b3369515174d5d045b0 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 23 Dec 2025 10:58:52 -0500 Subject: [PATCH 074/181] remove unused global current density array release in gk_field_fem_release_2x3x --- gyrokinetic/apps/gk_field_2x3x.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 82eb06432a..0feefa08ff 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -188,7 +188,6 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); gkyl_array_release(f->dApartdtSlvr_kSq); - gkyl_array_release(f->currentDens_global); gkyl_fem_parproj_release(f->fem_apar_parproj); gkyl_fem_poisson_perp_release(f->fem_apar_solver); gkyl_fem_poisson_perp_release(f->fem_apardot_solver); From 4bde80a9c4034bbf84df859b061c124a4825ecef Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 24 Dec 2025 10:38:35 -0500 Subject: [PATCH 075/181] =?UTF-8?q?=F0=9F=90=9B=F0=9F=AA=A4=20found=20a=20?= =?UTF-8?q?bug=20where=20apar=20was=20passed=20instead=20of=20apardot=20in?= =?UTF-8?q?=20the=20collisionless=20flux=20surf=20computation=20?= =?UTF-8?q?=F0=9F=A4=AA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gyrokinetic/apps/gk_species_collisionless.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index c610b72336..e714112ddb 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -55,7 +55,7 @@ static void gk_species_collisionless_add_apardot_rhs_enabled(gkyl_gyrokinetic_ap gkyl_array_clear(gkcls->flux_surf, 0.0); gkyl_gk_collisionless_flux_surf(gkcls->add_apardot_surf_flux_op, &app->local, &species->local, &app->local_ext, &species->local_ext, - species->gyro_phi, species->gyro_apar, fin, gkcls->flux_surf, species->cflrate); + species->gyro_phi, species->gyro_apardot, fin, gkcls->flux_surf, species->cflrate); // Advance the rhs adding only the Apardot volume contribution. gkyl_dg_updater_gyrokinetic_advance(gkcls->add_apardot_slvr, &species->local, From f18632cc33368163759402f54767567da56181db Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 24 Dec 2025 12:09:08 -0500 Subject: [PATCH 076/181] update documentation for gkyl_gk_collisionless_flux_new to clarify that we should pass apardot instead of apar when adding appardot only --- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index 43db9539a5..ecdb5c1c05 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -52,7 +52,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, * @param conf_ext_range Extended configuration space range (so we obtain geo quantities at all the needed surfaces). * @param phase_ext_range Extended Phase space range (so we obtain alpha_surf at all the needed surfaces). * @param phi Electrostatic potential. - * @param apar Parallel component of vector potential. + * @param apar Parallel component of vector potential OR should be Apardot if only_apardot is true. * @param fin Distribution function. * @param flux_surf Output surface expansion in a cell on the *lower* edge in each direction. * @param clfrate Output CFL rate. From 545b397c102935796dcfa8e9ee9e45c018672c46 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 10:13:38 -0500 Subject: [PATCH 077/181] create function to pointer to enable or not the twist-and-shift application (allows to remove the last (?) if statement in the field rhs computation) --- gyrokinetic/apps/gk_field_2x3x.c | 38 ++++++++++++++++++++++-- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 ++ 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 0feefa08ff..d65faf6f21 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -55,6 +55,16 @@ gk_field_2x3x_add_TSBC_and_SSFG_updaters(struct gkyl_gyrokinetic_app *app, struc app->basis, &app->lower_skin_par_core, &app->lower_ghost_par_core, app->use_gpu); } +static void +gk_field_twistshift_enabled(struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar){ + gkyl_bc_twistshift_advance(up, fdo, ftar); +} + +static void +gk_field_twistshift_disabled(struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar){ + // Do nothing +} + static void gk_field_enforce_parallel_bc_enabled(const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout) { @@ -66,9 +76,7 @@ gk_field_enforce_parallel_bc_enabled(const gkyl_gyrokinetic_app *app, struct gk_ num_periodic_dir, periodic_dirs, finout); // Update the lower z ghosts with twist-and-shift if we are in 3x2v - if (app->cdim == 3) { - gkyl_bc_twistshift_advance(field->bc_T_LU_lo, finout, finout); - } + field->twistshift_func(field->bc_T_LU_lo, finout, finout); // Sync ghost cells between MPI processes. gkyl_comm_array_sync(app->comm, &app->local, &app->local_ext, finout); @@ -77,6 +85,23 @@ gk_field_enforce_parallel_bc_enabled(const gkyl_gyrokinetic_app *app, struct gk_ gkyl_skin_surf_from_ghost_advance(field->ssfg_z_lo, finout); } +static void +gk_field_enforce_parallel_bc_em_enabled(const struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout) +{ + // Apply the periodicity along the field to fill ghost cells. + int num_periodic_dir = 1; + int par_dir = app->cdim - 1; + int periodic_dirs[] = {par_dir}; + gkyl_comm_array_per_sync(app->comm, &app->local, &app->local_ext, + num_periodic_dir, periodic_dirs, finout); + + // Update the lower z ghosts with twist-and-shift if we are in 3x2v + field->twistshift_func(field->bc_T_LU_lo, finout, finout); + + // Sync ghost cells between MPI processes. + gkyl_comm_array_sync(app->comm, &app->local, &app->local_ext, finout); +} + static void gk_field_rhs_poisson_perp_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *field) { @@ -146,6 +171,7 @@ gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field) struct timespec wst = gkyl_wall_clock(); gkyl_fem_poisson_perp_set_rhs(field->fem_apar_solver, field->currentDens); gkyl_fem_poisson_perp_solve(field->fem_apar_solver, field->apar); + field->enforce_parallel_bc_em_func(app, field, field->apar); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -160,6 +186,7 @@ gk_field_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, const gk_field_accumulate_current_dens_dot(app, field, rhs_in); gk_field_accumulate_ohms_kSq(app, field, f_in); gk_field_ohm_solve(app, field); + field->enforce_parallel_bc_em_func(app, field, field->apardot); } static void @@ -473,9 +500,14 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Twist-and-shift boundary condition for phi and skin surface from ghost to impose phi periodicity at z=-pi. f->enforce_parallel_bc_func = gk_field_enforce_parallel_bc_disabled; + f->enforce_parallel_bc_em_func = gk_field_enforce_parallel_bc_disabled; + f->twistshift_func = gk_field_twistshift_disabled; if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { gk_field_2x3x_add_TSBC_and_SSFG_updaters(app,f); f->enforce_parallel_bc_func = gk_field_enforce_parallel_bc_enabled; + f->enforce_parallel_bc_em_func = gk_field_enforce_parallel_bc_em_enabled; + if (app->cdim == 3) + f->twistshift_func = gk_field_twistshift_enabled; } f->solver_release_func = gk_field_fem_release_2x3x; diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 84c71c5675..3a5fbe249e 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1334,6 +1334,8 @@ struct gk_field { // Pointer to functions for the twist-and-shift BCs. void (*enforce_parallel_bc_func) (const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout); + void (*enforce_parallel_bc_em_func) (const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout); + void (*twistshift_func) (struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar); // Pointer to function for electromagnetic field solve. void (*accumulate_current) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, From a3beadea658f1f889bedd2a16d0c7190480137f5 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 10:31:49 -0500 Subject: [PATCH 078/181] put back the new multiplier for CFL rate in gk_species_get_cfl_dynamic function --- gyrokinetic/apps/gk_species.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 63235031fd..6666dfb195 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -88,6 +88,10 @@ static double gk_species_get_cfl_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { + + // Multiply CFL rate by the df/dt multiplier. + gk_species_fdot_multiplier_advance_times_cfl(app, species, &species->fdot_mult, app->field->phi_smooth, species->cflrate); + // Reduce the CFL frequency anc compute stable dt needed by this species. app->stat.n_species_omega_cfl +=1; struct timespec tm = gkyl_wall_clock(); From c4724b6f20d31824bd2486949993379a8d1b3349 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 10:40:33 -0500 Subject: [PATCH 079/181] remove unused gkcls->apar and apardot arrays. --- gyrokinetic/apps/gk_species_collisionless.c | 5 +---- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 3 --- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index e714112ddb..df582cadf2 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -227,10 +227,7 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s { if (gkcls->collisionless_id) { - gkyl_array_release(gkcls->flux_surf); - gkyl_array_release(gkcls->apar); - gkyl_array_release(gkcls->apardot); - + gkyl_array_release(gkcls->flux_surf); gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 3a5fbe249e..71a9c0aa8b 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -295,9 +295,6 @@ struct gk_collisionless { // Charged (gyrokinetic) species ............................................ // struct { struct gkyl_array *flux_surf; // Array for surface phase space flux - struct gkyl_array *apar; // A_parallel. - struct gkyl_array *apardot; // d/dt A_parallel. - struct gkyl_gk_collisionless_flux *surf_flux_op; // Collisionless fluxes. struct gkyl_gk_collisionless_flux *add_apardot_surf_flux_op; // Updater to add Apardot terms to fluxes. gkyl_dg_updater_gyrokinetic *slvr; // Collisionless solver. From f96b303384f42d6187c3ca25b63862f96e0747e8 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 11:13:01 -0500 Subject: [PATCH 080/181] remove the "es" in the electrostatic kernel naming to ease comparison with main --- ...llisionless_flux_edge_surfx_1x1v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfx_1x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfx_2x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfx_3x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfy_2x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfy_3x2v_ser_p1.c} | 2 +- ...llisionless_flux_edge_surfz_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_1x1v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_1x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfz_3x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_1x1v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_1x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_2x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfx_3x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfy_2x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfy_3x2v_ser_p1.c} | 2 +- ..._flux_multib_boundary_surfz_3x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfx_2x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfx_3x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfy_2x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfy_3x2v_ser_p1.c} | 2 +- ...nless_flux_no_by_edge_surfz_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfx_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_2x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfy_3x2v_ser_p1.c} | 2 +- ..._multib_boundary_edge_surfz_3x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfx_2x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfx_3x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfy_2x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfy_3x2v_ser_p1.c} | 2 +- ...no_by_multib_boundary_surfz_3x2v_ser_p1.c} | 2 +- ...ionless_flux_no_by_surfvpar_2x2v_ser_p1.c} | 2 +- ...ionless_flux_no_by_surfvpar_3x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfx_2x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfx_3x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfy_2x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfy_3x2v_ser_p1.c} | 2 +- ...lisionless_flux_no_by_surfz_3x2v_ser_p1.c} | 2 +- .../gk_collisionless_flux_surf_return_zero.h | 0 ...collisionless_flux_surfvpar_1x1v_ser_p1.c} | 2 +- ...collisionless_flux_surfvpar_1x2v_ser_p1.c} | 2 +- ...collisionless_flux_surfvpar_2x2v_ser_p1.c} | 2 +- ...collisionless_flux_surfvpar_3x2v_ser_p1.c} | 2 +- ...gk_collisionless_flux_surfx_1x1v_ser_p1.c} | 2 +- ...gk_collisionless_flux_surfx_1x2v_ser_p1.c} | 2 +- ...gk_collisionless_flux_surfx_2x2v_ser_p1.c} | 2 +- ...gk_collisionless_flux_surfx_3x2v_ser_p1.c} | 2 +- ...gk_collisionless_flux_surfy_2x2v_ser_p1.c} | 2 +- ...gk_collisionless_flux_surfy_3x2v_ser_p1.c} | 2 +- ...gk_collisionless_flux_surfz_3x2v_ser_p1.c} | 2 +- .../gkyl_gk_collisionless_flux_kernels.h | 164 +++++++++--------- .../zero/gkyl_gk_collisionless_flux_priv.h | 128 +++++++------- 57 files changed, 200 insertions(+), 200 deletions(-) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c => gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c => gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c => gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c} (97%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c => gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c => gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c => gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c => gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c => gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c => gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c => gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c => gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c => gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c => gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c} (99%) delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.h rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c => gk_collisionless_flux_surfvpar_1x1v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c => gk_collisionless_flux_surfvpar_1x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c => gk_collisionless_flux_surfvpar_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c => gk_collisionless_flux_surfvpar_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfx_1x1v_ser_p1.c => gk_collisionless_flux_surfx_1x1v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfx_1x2v_ser_p1.c => gk_collisionless_flux_surfx_1x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfx_2x2v_ser_p1.c => gk_collisionless_flux_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfx_3x2v_ser_p1.c => gk_collisionless_flux_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfy_2x2v_ser_p1.c => gk_collisionless_flux_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfy_3x2v_ser_p1.c => gk_collisionless_flux_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_es_collisionless_flux_surfz_3x2v_ser_p1.c => gk_collisionless_flux_surfz_3x2v_ser_p1.c} (99%) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c index d7f1f29371..d238da4c5a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c index fa28b49982..8b28a452a8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index 75e84d9c3b..92e198ca2b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 8dc4411306..88ca99e273 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index e215d93f53..9bd473b754 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index f652909b64..0b8ed9317d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index dbd8a403b4..498a277666 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c similarity index 97% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index 5785598e11..9839938bde 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index 06ca58eb62..59741c6716 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index 0f2d981a99..4d2caaa586 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index 1b9321b513..654ae35df3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index 60bcacccbf..d6718fe837 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index b56c6ed521..5d062b6954 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index c3754a76cb..e0bf10f4f3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 7a83dfb7d7..3e0e9a58ee 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index 8c87e41043..57462146c1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index 269ebb4f13..6cf635577b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index c22156e4a5..1abad940db 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index d904ffa7e2..f850648838 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index b154574b8c..13cc478df5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index b488afb742..988d136907 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c index 06e461b179..6184d536a3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c index 8b374aa03d..a2da499294 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c index d7829367ba..4ca93d910c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c index c7a64c66af..43d4ce97f4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c index 93fa848cf7..403e5afe85 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 6285424c1e..55a1af88c1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index 24221faffb..a71b45ec40 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index 1c708dfcfc..a9079ef2ed 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 78f9967ed0..6646198205 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 2a4e2a1571..6284a429d7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 155776e47f..944529819a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 4ce5e84e81..b45acf2030 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 075d642123..1be9740d4c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 534e2bf9e2..b2df2b4cc8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 1354d3cf3b..9ccf675e30 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index ea348fddf8..46856edd2a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 3ec5aaba66..33349ec571 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c index 46a7a88a7f..c6fa855f0b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c index 4b9a8bb519..8e0df1984a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c index ded8d71bd9..a602b33749 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c index a41d62efb5..8907a70957 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c index c53c21ad48..a7d42b1e38 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.h b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.h deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index b90e4c516e..54c9a9bc01 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index 514289668e..3b76a0d173 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 30fcac6cbb..45c4f44187 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index c73cce228a..462e705775 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c index 8852610f72..8351564ace 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c index afd77e6998..afb03ca1e1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index 5603465778..46e83b07d7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 35b0e14ae6..1e92b3a798 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index dc2ab8c70a..c176ec2db1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index f2d015a6b2..5c178c9917 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index 6f2c48ea9f..9a58c63c81 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_es_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_es_collisionless_flux_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index e85e84282d..eb0719694f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -7,7 +7,7 @@ EXTERN_C_BEG -GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -15,7 +15,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -23,7 +23,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -31,7 +31,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -39,7 +39,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -47,7 +47,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p1( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -55,7 +55,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x1v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -63,7 +63,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x1v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -71,7 +71,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p2( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x1v_ser_p2( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -95,7 +95,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -111,7 +111,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -127,7 +127,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p1( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -135,7 +135,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfx_1x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -143,7 +143,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_1x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -151,7 +151,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p2( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -167,7 +167,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_1x2v_ser_p2( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -175,7 +175,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -191,7 +191,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -199,7 +199,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -207,7 +207,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -215,7 +215,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -223,7 +223,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -231,7 +231,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -239,7 +239,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p1( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -247,7 +247,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -255,7 +255,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -263,7 +263,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -271,7 +271,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -279,7 +279,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_ const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -287,7 +287,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -295,7 +295,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_ const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -303,7 +303,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -311,7 +311,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -319,7 +319,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfx_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -327,7 +327,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -335,7 +335,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfy_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -343,7 +343,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -351,7 +351,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -359,7 +359,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -367,7 +367,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -375,7 +375,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -383,7 +383,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_2x2v_ser_p2( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -391,7 +391,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -399,7 +399,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -407,7 +407,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -415,7 +415,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -423,7 +423,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_ const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -431,7 +431,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -439,7 +439,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_ const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -447,7 +447,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -455,7 +455,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -463,7 +463,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfx_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -471,7 +471,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -479,7 +479,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfy_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -487,7 +487,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -495,7 +495,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfz_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -503,7 +503,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -511,7 +511,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -519,7 +519,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -527,7 +527,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -535,7 +535,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -543,7 +543,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -551,7 +551,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -559,7 +559,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_surfvpar_3x2v_ser_p1( const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -567,7 +567,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -575,7 +575,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -583,7 +583,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -591,7 +591,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -599,7 +599,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -607,7 +607,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -615,7 +615,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_ const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -623,7 +623,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -631,7 +631,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_ const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -639,7 +639,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -647,7 +647,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_ const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, @@ -655,7 +655,7 @@ GKYL_CU_DH double gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index c1d2a78ef1..4fbc7c1f4d 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -71,10 +71,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfx_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -92,10 +92,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfx_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -115,8 +115,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 3 }, }, { @@ -136,8 +136,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 3 }, }, { @@ -158,7 +158,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -179,7 +179,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -197,10 +197,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_surfvpar_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -221,10 +221,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfx_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -242,10 +242,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[] = { { .kernels_list= { - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -265,8 +265,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -286,8 +286,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -308,7 +308,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -329,7 +329,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -351,10 +351,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfx_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -372,10 +372,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfx_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -395,8 +395,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -416,8 +416,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -438,7 +438,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -459,7 +459,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -477,10 +477,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_no_by_surfvpar_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -501,10 +501,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -522,10 +522,10 @@ GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[] = { { .kernels_list = { - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_es_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -545,8 +545,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -566,8 +566,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -588,7 +588,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -609,7 +609,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_es_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, }, { From 66b6702426f54a5a2c5f21d777a49f007d50011d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 11:41:13 -0500 Subject: [PATCH 081/181] finish the removal of GKYL_GK_COLLISIONLESS_ES_NO_BY and replace by a flag passed to the collisionless table. It's better like this because otherwise we would need a colliisonless type for ES and each EM scenarii. --- core/zero/gkyl_eqn_type.h | 1 - gyrokinetic/apps/gk_species_collisionless.c | 8 ++++---- .../creg/rt_gk_multib_step_nonuniform_2x2v_p1.c | 6 ++++-- gyrokinetic/zero/dg_gyrokinetic.c | 6 +++--- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 8 ++++---- gyrokinetic/zero/dg_updater_gyrokinetic.c | 4 ++-- gyrokinetic/zero/gk_collisionless_flux.c | 6 +++--- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 10 ++++++---- gyrokinetic/zero/gkyl_dg_gyrokinetic.h | 3 ++- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 2 +- gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h | 5 +++-- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 7 ++++--- gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h | 2 +- 13 files changed, 37 insertions(+), 31 deletions(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 156814972a..0047add7aa 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -180,7 +180,6 @@ enum gkyl_gk_anomalous_diff_id { enum gkyl_gk_collisionless_type { GKYL_GK_COLLISIONLESS_NONE = 0, // Turns off collisionless terms. GKYL_GK_COLLISIONLESS_ES, // Electrostatic. - GKYL_GK_COLLISIONLESS_ES_NO_BY, // Electrostatic, w/o toroidal field (b_y=0). GKYL_GK_COLLISIONLESS_EM_BPERP, // Electromagnetic with B_perp fluctuations. GKYL_GK_COLLISIONLESS_EM_BPAR, // Electromagnetic with B_par fluctuations. GKYL_GK_COLLISIONLESS_EM, // Electromagnetic with B_perp and B_par fluctuations. diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index df582cadf2..ec938ff2f8 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -152,7 +152,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie bool only_apardot = false; gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, @@ -160,7 +160,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Create solver. gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); gkcls->scale_fac = -1.0; // Not used if scale_factor in input file is not given. @@ -181,12 +181,12 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie only_apardot = true; // Create a special flux operator that only adds the AparDot contribution. gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, only_apardot, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); // Create solver that only adds AparDot terms. gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, only_apardot, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); // Methods chosen at runtime. gkcls->add_apardot_rhs_func = gk_species_collisionless_add_apardot_rhs_enabled; diff --git a/gyrokinetic/creg/rt_gk_multib_step_nonuniform_2x2v_p1.c b/gyrokinetic/creg/rt_gk_multib_step_nonuniform_2x2v_p1.c index c28f335b1a..a2ac35472e 100644 --- a/gyrokinetic/creg/rt_gk_multib_step_nonuniform_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_multib_step_nonuniform_2x2v_p1.c @@ -1355,7 +1355,8 @@ main(int argc, char **argv) .num_diag_moments = 7, .diag_moments = { GKYL_F_MOMENT_M0, GKYL_F_MOMENT_M1, GKYL_F_MOMENT_M2, GKYL_F_MOMENT_M2PAR, GKYL_F_MOMENT_M2PERP, GKYL_F_MOMENT_M3PAR, GKYL_F_MOMENT_M3PERP }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .num_integrated_diag_moments = 1, .integrated_diag_moments = { GKYL_F_MOMENT_HAMILTONIAN }, @@ -1727,7 +1728,8 @@ main(int argc, char **argv) .num_diag_moments = 7, .diag_moments = { GKYL_F_MOMENT_M0, GKYL_F_MOMENT_M1, GKYL_F_MOMENT_M2, GKYL_F_MOMENT_M2PAR, GKYL_F_MOMENT_M2PERP, GKYL_F_MOMENT_M3PAR, GKYL_F_MOMENT_M3PERP }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO_BY, + .type = GKYL_GK_COLLISIONLESS_ES, + .no_by = true, }, .num_integrated_diag_moments = 1, .integrated_diag_moments = { GKYL_F_MOMENT_HAMILTONIAN }, diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 4bd6a18884..b5c6f203d1 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -47,14 +47,14 @@ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_dg_gyrokinetic_cu_dev_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, collless_type, only_apardot, gk_geom, vel_map); + charge, mass, skip_cell_threshold, collless_type, no_by, only_apardot, gk_geom, vel_map); #endif struct dg_gyrokinetic *gyrokinetic = gkyl_malloc(sizeof(struct dg_gyrokinetic)); @@ -112,7 +112,7 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis break; } - if (collless_type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + if (no_by) { gyrokinetic->eqn.vol_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); } else { diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 809ef4d175..52f1e81284 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -38,7 +38,7 @@ gkyl_gyrokinetic_set_auxfields_cu(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_ __global__ static void dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_basis_type b_type, int cv_index, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type collless_type, - bool only_apardot) + bool no_by, bool only_apardot) { gyrokinetic->auxfields.flux_surf = 0; gyrokinetic->auxfields.phi = 0; @@ -84,7 +84,7 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas break; } - if (collless_type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + if (no_by) { gyrokinetic->eqn.vol_term = vol_no_by_kernels[cv_index].kernels[poly_order]; } else { @@ -117,7 +117,7 @@ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, enum gkyl_gk_collisionless_type collless_type, - const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) + const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) { struct dg_gyrokinetic *gyrokinetic = (struct dg_gyrokinetic*) gkyl_malloc(sizeof(*gyrokinetic)); @@ -155,7 +155,7 @@ gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gky gkyl_cu_memcpy(gyrokinetic_cu, gyrokinetic, sizeof(struct dg_gyrokinetic), GKYL_CU_MEMCPY_H2D); dg_gyrokinetic_set_cu_dev_ptrs<<<1,1>>>(gyrokinetic_cu, cbasis->b_type, cv_index[cdim].vdim[vdim], - cdim, vdim, poly_order, collless_type, only_apardot); + cdim, vdim, poly_order, collless_type, no_by, only_apardot); // set parent on_dev pointer gyrokinetic->eqn.on_dev = &gyrokinetic_cu->eqn; diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index 322aa2558d..80e204c622 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -22,7 +22,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu) { struct gkyl_dg_updater_gyrokinetic *up = gkyl_malloc(sizeof(struct gkyl_dg_updater_gyrokinetic)); @@ -30,7 +30,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, up->use_gpu = use_gpu; up->eqn_gyrokinetic = gkyl_dg_gyrokinetic_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, collless_type, only_apardot, gk_geom, vel_map, up->use_gpu); + charge, mass, skip_cell_threshold, collless_type, no_by, only_apardot, gk_geom, vel_map, up->use_gpu); struct gkyl_dg_gyrokinetic_auxfields *gk_inp = aux_inp; gkyl_gyrokinetic_set_auxfields(up->eqn_gyrokinetic, *gk_inp); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index bf54af5c24..422024d157 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -18,14 +18,14 @@ gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type type, - const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, + const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu) { #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_gk_collisionless_flux_cu_dev_new(phase_grid, conf_basis, phase_basis, - charge, mass, type, only_apardot, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); + charge, mass, type, no_by, only_apardot, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); #endif gkyl_gk_collisionless_flux *up = gkyl_malloc(sizeof(gkyl_gk_collisionless_flux)); @@ -57,7 +57,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); } else { int em = (type == GKYL_GK_COLLISIONLESS_EM || type == GKYL_GK_COLLISIONLESS_EM_BPERP) ? 1 : 0; - if (type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index 12267a1d4d..fa2ef0a8aa 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -201,7 +201,8 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, // Doing function pointer stuff in here avoids troublesome cudaMemcpyFromSymbol __global__ static void gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, - bool em, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, bool only_apardot, + bool em, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, + bool no_by, bool only_apardot, const enum gkyl_gyrokinetic_bc_type *bctype_conf) { if (only_apardot){ @@ -213,7 +214,7 @@ gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, } up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); } else { - if (type == GKYL_GK_COLLISIONLESS_ES_NO_BY) { + if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); @@ -240,7 +241,8 @@ gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - const double charge, const double mass, enum gkyl_gk_collisionless_type type, const bool only_apardot, + const double charge, const double mass, enum gkyl_gk_collisionless_type type, + const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf) @@ -279,7 +281,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, struct gkyl_gk_collisionless_flux *up_cu = (struct gkyl_gk_collisionless_flux*) gkyl_cu_malloc(sizeof(*up_cu)); gkyl_cu_memcpy(up_cu, up, sizeof(gkyl_gk_collisionless_flux), GKYL_CU_MEMCPY_H2D); - gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, em, cdim, vdim, poly_order, type, only_apardot, bctype_conf_dev); + gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, em, cdim, vdim, poly_order, type, no_by, only_apardot, bctype_conf_dev); gkyl_cu_free(bctype_conf_dev); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h index 43ec48ee34..fe5581fa6d 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h @@ -28,6 +28,7 @@ struct gkyl_dg_gyrokinetic_auxfields { * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param collless_type Type of collisionless terms. + * @param no_by Whether to neglect the toroidal field (set b_y=0). * @param only_apardot Whether we want to only add the apardot term. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. @@ -37,7 +38,7 @@ struct gkyl_dg_gyrokinetic_auxfields { struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 9a14eb15dd..62687abb43 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -676,7 +676,7 @@ boundary_diag(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_if_smaller_than, enum gkyl_gk_collisionless_type collless_type, - const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); + const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); /** * CUDA device function to set the auxiliary fields (e.g. geometry & EM fields) diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h index 3512e87fe7..619bfed7d5 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h @@ -30,6 +30,7 @@ struct gkyl_dg_updater_gyrokinetic_tm { * @param mass Species mass * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param collless_type Type of collisionless terms. + * @param no_by Whether to neglect the toroidal field (set b_y=0). * @param only_apardot Whether we want to only add the apardot term. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. @@ -41,8 +42,8 @@ gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_r const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool only_apardot, const struct gk_geometry *gk_geom, - const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, + const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); /** * Acquire gyrokinetic equation object. diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index ecdb5c1c05..efe8da3aaa 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -23,6 +23,7 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; * @param charge Species charge * @param mass Species mass * @param collless_type Type of collisionless terms. + * @param no_by Whether to neglect the toroidal field (set b_y=0). * @param only_apardot Whether to only add Apardot terms to the flux. * @param gk_geom Gyrokinetic geometry object. * @param gk_dg_geom DG geometry object. @@ -35,9 +36,9 @@ struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, - const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, - const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, - const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); + const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, + const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, + const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); /** * Compute surface expansion of phase space flux alpha diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 4fbc7c1f4d..9300629745 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -767,7 +767,7 @@ choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(int cdim, int vdim, int struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - double charge, double mass, enum gkyl_gk_collisionless_type type, const bool only_apardot, + double charge, double mass, enum gkyl_gk_collisionless_type type, const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf); From 2f312d67f0cd61ffd0c39d6abd9e49b999d23187 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 11:55:15 -0500 Subject: [PATCH 082/181] remove one indentation to reduce the number of changed lines and ease PR review --- .../gkyl_gk_collisionless_flux_kernels.h | 2256 ++++++++--------- 1 file changed, 1128 insertions(+), 1128 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index eb0719694f..f0cb7189da 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -8,1316 +8,1316 @@ EXTERN_C_BEG GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, From 4b30097f41bf292bf6e139938b52b9014edc286f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 12:12:55 -0500 Subject: [PATCH 083/181] Add em extension to the naming of the copy and combine field method to reflect that they are disabled if we are in the electrostatic case. --- gyrokinetic/apps/gk_field.c | 16 ++++++++-------- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 12 ++++++------ gyrokinetic/apps/gyrokinetic.c | 2 +- gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c | 12 ++++++------ 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index f759a5e2b3..148b070b74 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -402,12 +402,12 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) if (f->is_em) { assert(f->info.mu0 > 0.0); f->step_apar = gk_field_step_apar_enabled; - f->combine_func = gk_field_combine_enabled; - f->copy_func = gk_field_copy_range_enabled; + f->em_combine_func = gk_field_combine_enabled; + f->em_copy_func = gk_field_copy_range_enabled; } else { f->step_apar = gk_field_step_apar_disabled; - f->combine_func = gk_field_combine_disabled; - f->copy_func = gk_field_copy_range_disabled; + f->em_combine_func = gk_field_combine_disabled; + f->em_copy_func = gk_field_copy_range_disabled; } f->calc_init_field = !f->info.zero_init_field; @@ -476,18 +476,18 @@ void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struc } void -gk_field_combine(struct gk_field *field, struct gkyl_array *out, double c1, +gk_field_em_combine(struct gk_field *field, struct gkyl_array *out, double c1, const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, const struct gkyl_range *rng) { - field->combine_func(out, c1, arr1, c2, arr2, rng); + field->em_combine_func(out, c1, arr1, c2, arr2, rng); } void -gk_field_copy_range(struct gk_field *field, struct gkyl_array *out, +gk_field_em_copy_range(struct gk_field *field, struct gkyl_array *out, const struct gkyl_array *inp, const struct gkyl_range *range) { - field->copy_func(out, inp, range); + field->em_copy_func(out, inp, range); } void diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 71a9c0aa8b..4114169b30 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1344,8 +1344,8 @@ struct gk_field { void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); void (*step_apar) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); - void (*combine_func) (struct gkyl_array *out, double c1, const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2,const struct gkyl_range *rng); - void (*copy_func) (struct gkyl_array *out, const struct gkyl_array *inp, const struct gkyl_range *range); + void (*em_combine_func) (struct gkyl_array *out, double c1, const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2,const struct gkyl_range *rng); + void (*em_copy_func) (struct gkyl_array *out, const struct gkyl_array *inp, const struct gkyl_range *range); // Pointer to function to calculate the potential. void (*rhs_phi_func) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); @@ -4065,7 +4065,7 @@ void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struc const struct gkyl_array* inp); /** - * Combine for rk3 method. + * Combine method for Apar stepping, disabled if electrostatic. * * @param field Pointer to field. * @param out Output array. @@ -4075,19 +4075,19 @@ void gk_field_step_apar(gkyl_gyrokinetic_app *app, struct gk_field *field, struc * @param arr2 Input array. * @param rng Range. */ -void gk_field_combine(struct gk_field *field, struct gkyl_array *out, double c1, +void gk_field_em_combine(struct gk_field *field, struct gkyl_array *out, double c1, const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2, const struct gkyl_range *rng); /** - * Copy for rk3 method. + * Copy method for Apar stepping, disabled if electrostatic. * * @param field Pointer to field. * @param out Output array. * @param inp Input array. * @param range Range. */ -void gk_field_copy_range(struct gk_field *field, struct gkyl_array *out, +void gk_field_em_copy_range(struct gk_field *field, struct gkyl_array *out, const struct gkyl_array *inp, const struct gkyl_range *range); diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 1f7625c8a1..7f58334f02 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1975,7 +1975,7 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, // Compute Apardot (solves Ohm's law using the previously built RHS). gk_field_em_rhs(app, app->field, fin, fout); // Update aparout. - gk_field_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); + gk_field_em_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); // Add Apardot contributions to the collisionless update of charged species. for (int i=0; inum_species; ++i) { diff --git a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c index 9a2cdb0478..6198691816 100644 --- a/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c +++ b/gyrokinetic/apps/gyrokinetic_update_ssp_rk3.c @@ -79,7 +79,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar; aparout = app->field->apar1; - gk_field_copy_range(app->field, app->field->apar_curr, app->field->apar, &app->local_ext); // Update apar_curr to latest A_parallel. + gk_field_em_copy_range(app->field, app->field->apar_curr, app->field->apar, &app->local_ext); // Update apar_curr to latest A_parallel. for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gkns = &app->neut_species[i]; fin_neut[i] = gkns->f; @@ -149,7 +149,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; - gk_field_copy_range(app->field, app->field->apar_curr, app->field->apar1, &app->local_ext); // Update apar_curr to latest A_parallel. + gk_field_em_copy_range(app->field, app->field->apar_curr, app->field->apar1, &app->local_ext); // Update apar_curr to latest A_parallel. gyrokinetic_forward_euler(app, tcurr+dt, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); @@ -188,7 +188,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) gk_neut_species_combine(gkns, gkns->f1, 3.0/4.0, gkns->f, 1.0/4.0, gkns->fnew, &gkns->local_ext); gk_neut_species_bflux_set(app, &gkns->bflux, gkns->bflux.f1, 1.0/4.0, gkns->bflux.fnew); } - gk_field_combine(app->field, app->field->apar1, 3.0/4.0, app->field->apar, 1.0/4.0, app->field->aparnew, &app->local_ext); + gk_field_em_combine(app->field, app->field->apar1, 3.0/4.0, app->field->apar, 1.0/4.0, app->field->aparnew, &app->local_ext); app->stat.time_stepper_arithmetic_tm += gkyl_time_diff_now_sec(wst); // Compute the fields and apply BCs. @@ -225,7 +225,7 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) } aparin = app->field->apar1; aparout = app->field->aparnew; - gk_field_copy_range(app->field, app->field->apar_curr, app->field->apar1, &app->local_ext); // Update apar_curr to latest A_parallel. + gk_field_em_copy_range(app->field, app->field->apar_curr, app->field->apar1, &app->local_ext); // Update apar_curr to latest A_parallel. gyrokinetic_forward_euler(app, tcurr+dt/2, dt, fin, fout, aparin, aparout, bflux_in, bflux_out, fin_neut, fout_neut, bflux_in_neut, bflux_out_neut, &st); @@ -272,9 +272,9 @@ gyrokinetic_update_ssp_rk3(gkyl_gyrokinetic_app* app, double dt0) gk_neut_species_bflux_calc_voltime_integrated_mom(app, gkns, &gkns->bflux, tcurr); } // Step A_parallel. - gk_field_combine(app->field, app->field->apar1, 1.0/3.0, app->field->apar, 2.0/3.0, app->field->aparnew, + gk_field_em_combine(app->field, app->field->apar1, 1.0/3.0, app->field->apar, 2.0/3.0, app->field->aparnew, &app->local_ext); - gk_field_copy_range(app->field, app->field->apar, app->field->apar1, &app->local_ext); + gk_field_em_copy_range(app->field, app->field->apar, app->field->apar1, &app->local_ext); app->stat.time_stepper_arithmetic_tm += gkyl_time_diff_now_sec(wst); // Apply positivity shift if requested. From 90d71502f25de672cdc6707c8143fc3971922d69 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 13:47:53 -0500 Subject: [PATCH 084/181] Remove unused apar_fem array --- gyrokinetic/apps/gk_field.c | 11 +---------- gyrokinetic/apps/gk_field_1x.c | 8 -------- gyrokinetic/apps/gk_field_2x3x.c | 2 -- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 - 4 files changed, 1 insertion(+), 21 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 148b070b74..cc4084c76c 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -222,16 +222,7 @@ static void gk_field_step_apar_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp) { - gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); - - // gkyl_array_clear_range(out, 0.0, &app->local_ext); - - // Smooth apar - // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, out, field->rho_c_global_dg); - // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); - // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); - // gkyl_array_copy_range_to_range(out, field->apar_fem, &app->local, &field->global_sub_range); - + gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); } static void diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index 06c20df08a..e6bb35444f 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -34,12 +34,6 @@ gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ 0, field->dApartdtSlvr_lhs_factor, &app->local); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); - - // // Smooth apardot - // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->apardot, field->rho_c_global_dg); - // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->rho_c_global_dg, field->rho_c_global_dg); - // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->apar_fem); - // gkyl_array_copy_range_to_range(field->apardot, field->apar_fem, &app->local, &field->global_sub_range); } @@ -95,7 +89,6 @@ gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->apar_curr); gkyl_array_release(f->apar1); gkyl_array_release(f->aparnew); - gkyl_array_release(f->apar_fem); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->currentDens_global); @@ -147,7 +140,6 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->apar_host = f->apar; f->apardot_host = f->apardot; diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index d65faf6f21..ace2c75b46 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -210,7 +210,6 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->apar_curr); gkyl_array_release(f->apar1); gkyl_array_release(f->aparnew); - gkyl_array_release(f->apar_fem); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); @@ -280,7 +279,6 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->apar_host = f->apar; f->apardot_host = f->apardot; diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 4114169b30..ab1ba821fb 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1249,7 +1249,6 @@ struct gk_field { struct { struct gkyl_array *apar, *apar1, *aparnew; // Array for A_parallel and RK stages. struct gkyl_array *apar_curr; // A_parallel at current RK stage. - struct gkyl_array *apar_fem; // FEM A_parallel. struct gkyl_array *apar_host; // Host copy for use IO. struct gkyl_array *apardot; // Array for d(A_parallel)/dt (solved through Ohm's law). struct gkyl_array *apardot_host; // Host copy for use IO. From 0a1fbadc85133ffb86b5510fd1dd45d00606fcb0 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 14:33:34 -0500 Subject: [PATCH 085/181] correct logic for IWL EM --- gyrokinetic/apps/gk_field_2x3x.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index ace2c75b46..a111fb1276 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -500,12 +500,13 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->enforce_parallel_bc_func = gk_field_enforce_parallel_bc_disabled; f->enforce_parallel_bc_em_func = gk_field_enforce_parallel_bc_disabled; f->twistshift_func = gk_field_twistshift_disabled; - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { gk_field_2x3x_add_TSBC_and_SSFG_updaters(app,f); - f->enforce_parallel_bc_func = gk_field_enforce_parallel_bc_enabled; - f->enforce_parallel_bc_em_func = gk_field_enforce_parallel_bc_em_enabled; if (app->cdim == 3) f->twistshift_func = gk_field_twistshift_enabled; + f->enforce_parallel_bc_func = gk_field_enforce_parallel_bc_enabled; + if (f->is_em) + f->enforce_parallel_bc_em_func = gk_field_enforce_parallel_bc_em_enabled; } f->solver_release_func = gk_field_fem_release_2x3x; From b048256e127205fc838ebcdb2b8cbe0cf7b70ad1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 15:01:46 -0500 Subject: [PATCH 086/181] make sure that apar is acquired also when there is no collisionless term. --- gyrokinetic/apps/gk_species.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 6666dfb195..90d8a69316 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1518,7 +1518,8 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st } // We do not have FLR effects for EM yet. - if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_ES) + if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_NONE + || gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_ES) gks->gyro_apar = gkyl_array_acquire(app->field->apar); else gks->gyro_apar = gkyl_array_acquire(app->field->apar_curr); From 652c4b7fabf5dd32b83087a7a4ecc9c737f5d26a Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 15:39:54 -0500 Subject: [PATCH 087/181] remove obsolete comment --- gyrokinetic/zero/gk_collisionless_flux.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 422024d157..e43e5123f4 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -9,11 +9,6 @@ #include #include -// TODO: remove add_em flag and replace by the collisionless enum type. -// TODO: Combine apar and ES kernel together to allow the add Apardot only option. -// TODO: In particular I have to have the same signature for each kernels regardless of whether they add EM terms or not, -// so that we can pass apar, or apardot if needed. - gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, From de94c1eaa1281c99ef1573d9704e0486bbb5b768 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 15:56:38 -0500 Subject: [PATCH 088/181] =?UTF-8?q?=F0=9F=94=A5=F0=9F=90=9B=F0=9F=94=A5=20?= =?UTF-8?q?the=202x2v=20flux=20surf=20y=20kernels=20were=20chosen=20in=20t?= =?UTF-8?q?he=203x2v=20case....?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 9300629745..3ff1e697f1 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -116,7 +116,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -124,7 +124,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, gk_em_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 3 + { NULL, gk_em_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -137,7 +137,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, }, { @@ -145,7 +145,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 3 + { NULL, gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; From 1addd80c4b05ec3e93d5e683387ee834af147822 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 15:57:39 -0500 Subject: [PATCH 089/181] I don't know if it's needed but I find it scary to manipulate unallocated array with empty functions in the RK stepper so we allocate and release them to be sure. --- gyrokinetic/apps/gk_field_1x.c | 12 ++++++------ gyrokinetic/apps/gk_field_2x3x.c | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index e6bb35444f..6677a71b6f 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -83,12 +83,12 @@ gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->phi_smooth); gkyl_array_release(f->phi_fem); gkyl_array_release(f->apar); + gkyl_array_release(f->apar_curr); + gkyl_array_release(f->apar1); + gkyl_array_release(f->aparnew); gkyl_array_release(f->apardot); if (f->is_em) { - gkyl_array_release(f->apar_curr); - gkyl_array_release(f->apar1); - gkyl_array_release(f->aparnew); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->currentDens_global); @@ -133,13 +133,13 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->phi_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->phi_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); // Allocate additional arrays for EM case. if (f->is_em) { - f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_host = f->apar; f->apardot_host = f->apardot; diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index a111fb1276..a9ab09a5b6 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -205,11 +205,11 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->phi_smooth); gkyl_array_release(f->apar); gkyl_array_release(f->apardot); + gkyl_array_release(f->apar_curr); + gkyl_array_release(f->apar1); + gkyl_array_release(f->aparnew); if (f->is_em) { - gkyl_array_release(f->apar_curr); - gkyl_array_release(f->apar1); - gkyl_array_release(f->aparnew); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); @@ -245,7 +245,7 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_integrate_release(f->calc_em_energy); // Release TS BC and SSFG updater - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { if (app->cdim == 3) { gkyl_bc_twistshift_release(f->bc_T_LU_lo); } @@ -272,13 +272,13 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->phi_fem = mkarr(app->use_gpu, app->basis.num_basis, app->global_ext.volume); f->phi_smooth = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); // Setup electromagnetic variables if needed. if (f->is_em) { - f->apar_curr = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); - f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apar_host = f->apar; f->apardot_host = f->apardot; From 5eb779988b88ba253b53a08df01d1df8e9564e07 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 26 Dec 2025 16:16:15 -0500 Subject: [PATCH 090/181] Remove unused variable declaration in the electrostatic case. --- ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 26 ----------- ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 46 ------------------- ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 16 ------- ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 16 ------- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 26 ----------- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 46 ------------------- ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 4 +- ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 4 +- ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 4 +- ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 4 +- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 4 +- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 4 +- 12 files changed, 12 insertions(+), 188 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index 46856edd2a..66d2f9ee5c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -45,17 +45,11 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -63,11 +57,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; @@ -93,11 +82,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; @@ -123,11 +107,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; @@ -153,11 +132,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 33349ec571..6213e03896 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -50,17 +50,11 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -68,11 +62,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; @@ -98,11 +87,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; @@ -128,11 +112,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; @@ -158,11 +137,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; @@ -188,11 +162,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[4].g_13; - g_23 = gkdgv[4].g_23; - g_33 = gkdgv[4].g_33; - mag_e_3 = gkdgv[4].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; @@ -218,11 +187,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[5].g_13; - g_23 = gkdgv[5].g_23; - g_33 = gkdgv[5].g_33; - mag_e_3 = gkdgv[5].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; @@ -248,11 +212,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[6].g_13; - g_23 = gkdgv[6].g_23; - g_33 = gkdgv[6].g_33; - mag_e_3 = gkdgv[6].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; @@ -278,11 +237,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[7].g_13; - g_23 = gkdgv[7].g_23; - g_33 = gkdgv[7].g_33; - mag_e_3 = gkdgv[7].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index 54c9a9bc01..c89bcda5a4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -38,17 +38,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -56,11 +50,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); @@ -77,11 +66,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index 3b76a0d173..923cd51270 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -40,17 +40,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -58,11 +52,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); @@ -88,11 +77,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 45c4f44187..4d2b3e7f85 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -45,17 +45,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -63,11 +57,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); @@ -93,11 +82,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); @@ -123,11 +107,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); @@ -153,11 +132,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index 462e705775..140ef97c8f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -50,17 +50,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; @@ -68,11 +62,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); @@ -98,11 +87,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); @@ -128,11 +112,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); @@ -158,11 +137,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); @@ -188,11 +162,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[4].g_13; - g_23 = gkdgv[4].g_23; - g_33 = gkdgv[4].g_33; - mag_e_3 = gkdgv[4].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); @@ -218,11 +187,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[5].g_13; - g_23 = gkdgv[5].g_23; - g_33 = gkdgv[5].g_33; - mag_e_3 = gkdgv[5].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); @@ -248,11 +212,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[6].g_13; - g_23 = gkdgv[6].g_23; - g_33 = gkdgv[6].g_33; - mag_e_3 = gkdgv[6].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); @@ -278,11 +237,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[7].g_13; - g_23 = gkdgv[7].g_23; - g_33 = gkdgv[7].g_33; - mag_e_3 = gkdgv[7].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index 8e77c3005b..4ff4b86d61 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -45,13 +45,13 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double g_13 = 0.0; double g_23 = 0.0; double g_33 = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 8a4d7783c3..6876e3ddff 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -50,13 +50,13 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double g_13 = 0.0; double g_23 = 0.0; double g_33 = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c index d1d59d4fdb..1b99d93270 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -38,13 +38,13 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double g_13 = 0.0; double g_23 = 0.0; double g_33 = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c index 806566190d..bac43c6b97 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -40,13 +40,13 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double g_13 = 0.0; double g_23 = 0.0; double g_33 = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c index 70a81932f7..554172f189 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -45,13 +45,13 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double g_13 = 0.0; double g_23 = 0.0; double g_33 = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c index bf11cf4394..ff0fdbdcca 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -50,13 +50,13 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( double B3_quad = 0.0; double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; double g_13 = 0.0; double g_23 = 0.0; double g_33 = 0.0; From a5236a4fe181d0e33ea7b4b2994f069b86fa6bb1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 29 Dec 2025 12:03:25 -0500 Subject: [PATCH 091/181] We now smooth aparout which is apardot used to setp apar so that apar stays smooth. We also smooth apar after the IC ampere solve. --- gyrokinetic/apps/gk_field.c | 7 ++++++- gyrokinetic/apps/gk_field_1x.c | 12 ------------ gyrokinetic/apps/gk_field_2x3x.c | 8 +++++--- 3 files changed, 11 insertions(+), 16 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index cc4084c76c..3774fe2c3e 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -222,7 +222,10 @@ static void gk_field_step_apar_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp) { - gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); + // Project inp (dApar/dt) onto FEM basis to make Apar continuous along z. + gk_field_fem_projection_par(app, field, out, out); + // Apar^{n+1} = Apar^{n} + dt*dApar/dt + gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); } static void @@ -456,6 +459,8 @@ void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field) { struct timespec wst = gkyl_wall_clock(); field->ampere_solve(app, field); + // Smooth Apar after solving Ampere's law. + gk_field_fem_projection_par(app, field, field->apar, field->apar); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index 6677a71b6f..0f67e5327e 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -41,17 +41,9 @@ static void gk_field_ampere_solve_1x_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); - // Weak division method Apar = sum_s q_s int dv vpar F_s / (k_perp^2/mu_0) gkyl_dg_div_op_range(field->div_mem, app->basis, 0, field->apar, 0, field->currentDens, 0, field->lapWeightAmpere, &app->local); - - // gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->currentDens, field->currentDens_global); - - // gkyl_fem_parproj_set_rhs(field->fem_apar_parproj, field->currentDens_global, field->currentDens_global); - // gkyl_fem_parproj_solve(field->fem_apar_parproj, field->phi_fem); - - // gkyl_array_copy_range_to_range(field->apar, field->phi_fem, &app->local, &field->global_sub_range); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -96,7 +88,6 @@ gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->lapWeightAmpere); gkyl_array_release(f->dApartdtSlvr_kSq); gkyl_dg_bin_op_mem_release(f->div_mem); - gkyl_fem_parproj_release(f->fem_apar_parproj); if (app->use_gpu) { gkyl_array_release(f->apar_host); gkyl_array_release(f->apardot_host); @@ -166,9 +157,6 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) for (int d=0; dnum_periodic_dir; ++d) if (app->periodic_dirs[d] == app->cdim-1) f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_PERIODIC; - f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, - f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); - assert(f->info.mu0 > 0.0); f->apar_energy_fac_1d = 0.5/f->info.mu0 * f->info.kperpSq; f->apar_energy_fac_1d *= -1.0; // the -1 is to be consistent with ES energy. diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index a9ab09a5b6..b782b654d7 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -238,7 +238,8 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { gkyl_fem_parproj_release(f->fem_parproj_core); gkyl_fem_parproj_release(f->fem_parproj_sol); - } else { + } + if (f->is_em || !(f->gkfield_id == GKYL_GK_FIELD_ES_IWL)) { gkyl_fem_parproj_release(f->fem_parproj); } @@ -279,7 +280,6 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Setup electromagnetic variables if needed. if (f->is_em) { - f->apar_host = f->apar; f->apardot_host = f->apardot; if (app->use_gpu) { @@ -427,13 +427,15 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) fem_parproj_bc_sol, 0, 0, app->use_gpu); } else { f->rhs_phi_func = gk_field_rhs_poisson_perp_2x3x; + } + + if (f->is_em || !(f->gkfield_id == GKYL_GK_FIELD_ES_IWL)) { enum gkyl_fem_parproj_bc_type fem_parproj_bc = GKYL_FEM_PARPROJ_NONE; for (int d=0; dnum_periodic_dir; ++d) { if (app->periodic_dirs[d] == app->cdim-1) { fem_parproj_bc = GKYL_FEM_PARPROJ_PERIODIC; } } - f->fem_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, fem_parproj_bc, 0, 0, app->use_gpu); } From 7eec0e61b3e5a1ac8345a32998933a97a92be07b Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 29 Dec 2025 13:40:56 -0500 Subject: [PATCH 092/181] the smoothing of apar here is a bad idea as it messes up with the 1x case. Will reintroduce it later in a better manner --- gyrokinetic/apps/gk_field.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 3774fe2c3e..d9714a151b 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -222,8 +222,6 @@ static void gk_field_step_apar_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double dt, const struct gkyl_array* inp) { - // Project inp (dApar/dt) onto FEM basis to make Apar continuous along z. - gk_field_fem_projection_par(app, field, out, out); // Apar^{n+1} = Apar^{n} + dt*dApar/dt gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); } From bf1079044cd351889b9e2d6a26fbb21c1bdadba1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 9 Feb 2026 11:34:27 -0500 Subject: [PATCH 093/181] Add the 3x2v alfven regression test --- gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c | 460 +++++++++++++++++++++ 1 file changed, 460 insertions(+) create mode 100644 gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c diff --git a/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c new file mode 100644 index 0000000000..4f6ac2d389 --- /dev/null +++ b/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c @@ -0,0 +1,460 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +// Define the context of the simulation. This is basically all the globals +struct gk_app_ctx { + int cdim, vdim; // Dimensionality. + double mu0; + + // Geometry and magnetic field. + double R; // Major radius of the simulation box [m]. + double a; // Minor radius at outboard midplane [m]. + double r; // Minor radius of the simulation box [m]. + double B; // Magnetic field magnitude in the simulation box [T]. + double z_min; double z_max; + + double kperp; // Perpendicular wavenumber. + double beta_hat; // Plasma beta parameter. + + // Plasma parameters. + double me; double qe; + double mi; double qi; + double n0; double Te0; double Ti0; + + // Grid parameters. + double kz_min; + double x_min, x_max; // Min and max x-coordinates. + double y_min, y_max; + int Nx, Ny, Nz; + int Nvpar; + int Nmu; + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + int poly_order; + double vpar_max_elc; double mu_max_elc; + double vpar_max_ion; double mu_max_ion; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +// Ion initial conditions. +void density_init_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->n0; +} +void upar_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->Ti0; +} + +// Electron initial conditions. +void density_init_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double z = xn[2]; + fout[0] = app->n0 * (1 + 1e-6*cos(app->kz_min*z)); +} +void upar_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = app->Te0; +} + +// Slab magnetic equilibrium. +static inline void +mapc2p(double t, const double* xc, double* GKYL_RESTRICT xp, void* ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xc[0], y = xc[1], z = xc[2]; + xp[0] = x; xp[1] = y; xp[2] = z; +} +void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + fout[0] = 0.0; + fout[1] = 0.0; + fout[2] = app->B; +} + +void +write_ctx_to_json(const struct gk_app_ctx *ctx) +{ + FILE *fp = fopen("ctx.json", "w"); + if (!fp) { + perror("Error opening file for writing context"); + return; + } + + fprintf(fp, "{\n"); + fprintf(fp, " \"cdim\": %d,\n", ctx->cdim); + fprintf(fp, " \"vdim\": %d,\n", ctx->vdim); + fprintf(fp, " \"mu0\": %e,\n", ctx->mu0); + fprintf(fp, " \"R\": %e,\n", ctx->R); + fprintf(fp, " \"a\": %e,\n", ctx->a); + fprintf(fp, " \"r\": %e,\n", ctx->r); + fprintf(fp, " \"B\": %e,\n", ctx->B); + fprintf(fp, " \"z_min\": %e,\n", ctx->z_min); + fprintf(fp, " \"z_max\": %e,\n", ctx->z_max); + fprintf(fp, " \"kperp\": %e,\n", ctx->kperp); + fprintf(fp, " \"beta_hat\": %e,\n", ctx->beta_hat); + fprintf(fp, " \"me\": %e,\n", ctx->me); + fprintf(fp, " \"qe\": %e,\n", ctx->qe); + fprintf(fp, " \"mi\": %e,\n", ctx->mi); + fprintf(fp, " \"qi\": %e,\n", ctx->qi); + fprintf(fp, " \"n0\": %e,\n", ctx->n0); + fprintf(fp, " \"Te0\": %e,\n", ctx->Te0); + fprintf(fp, " \"Ti0\": %e,\n", ctx->Ti0); + fprintf(fp, " \"kz_min\": %e,\n", ctx->kz_min); + fprintf(fp, " \"Nz\": %d,\n", ctx->Nz); + fprintf(fp, " \"Nvpar\": %d,\n", ctx->Nvpar); + fprintf(fp, " \"Nmu\": %d,\n", ctx->Nmu); + fprintf(fp, " \"poly_order\": %d,\n", ctx->poly_order); + fprintf(fp, " \"vpar_max_elc\": %e,\n", ctx->vpar_max_elc); + fprintf(fp, " \"mu_max_elc\": %e,\n", ctx->mu_max_elc); + fprintf(fp, " \"vpar_max_ion\": %e,\n", ctx->vpar_max_ion); + fprintf(fp, " \"mu_max_ion\": %e,\n", ctx->mu_max_ion); + fprintf(fp, " \"t_end\": %e,\n", ctx->t_end); + fprintf(fp, " \"num_frames\": %d,\n", ctx->num_frames); + fprintf(fp, " \"write_phase_freq\": %e,\n", ctx->write_phase_freq); + fprintf(fp, " \"int_diag_calc_num\": %d,\n", ctx->int_diag_calc_num); + fprintf(fp, " \"dt_failure_tol\": %e,\n", ctx->dt_failure_tol); + fprintf(fp, " \"num_failures_max\": %d\n", ctx->num_failures_max); + fprintf(fp, "}\n"); + + fclose(fp); +} + +struct gk_app_ctx +create_ctx(void) +{ + int cdim = 3, vdim = 2; // Dimensionality. + // Universal constant parameters. + double eps0 = GKYL_EPSILON0, eV = GKYL_ELEMENTARY_CHARGE; + double qi = eV; // ion charge + double qe = -eV; // electron charge + double me = GKYL_ELECTRON_MASS; + double mi = 2*GKYL_PROTON_MASS; + double mu0 = GKYL_MU0; + // Geometry, magnetic field and gradients. + double R0 = 1.313; // Major radius of the simulation box [m]. + double a = 0.4701; // Minor radius at outboard midplane [m]. + double B0 = 1.91; // Magnetic field magnitude in the simulation box [T]. + double Ti0 = 2072*eV; + double eps_n = 0.2; + double kz_Ln = 1.0; + + // EZ case: + // double beta_hat = 0.1; // gkylscan can parameter. + // double kperp_rhos = 0.5; // gkylscan can parameter. + // Damping hard to catch case: + double beta_hat = 0.1; // gkylscan can parameter. + double kperp_rhos = 0.5; // gkylscan can parameter. + double nperiod = 0.1; + + double beta_e = beta_hat*2.0*me/mi; + double tau = 1.0; // Ti/Te. + // Derived paramters. + double r0 = 0.5*a; // Minor radius of the simulation box [m]. + double R = R0 + r0; // Major radius at center of simulation box [m]. + double B = B0 * R0/R; // Magnetic field at center of simulation box [T]. + double Te0 = Ti0/tau; // Electron temperature [J]. + double n0 = beta_e*B*B/(2*mu0*Te0); // Density [m^-3]. + double vte = sqrt(Te0/me); // Electron thermal speed [m/s]. + double vti = sqrt(Ti0/mi); // Ion thermal speed [m/s]. + double c_s = sqrt(Te0/mi); // Sound speed [m/s]. + double omega_ci = fabs(qi*B/mi); // Ion cyclotron frequency [rad/s]. + double rho_s = c_s/omega_ci; // Ion sound gyroradius [m] + double L_n = R*eps_n; // Density gradient scale length [m]. + double kz_min = kz_Ln/L_n; // Minimum parallel wavenumber [1/m]. + // Expected frequency from dispersion relation: + // double omega = kz_min*c_s*sqrt(2/beta_e/(1+beta_hat*pow(ky_rhos,2))); + double va = vte/sqrt(beta_hat); // Alfvén speed [m/s]. + // double omega = kz_min*va; // Shear Alfvén wave frequency [rad/s]. + double omega = sqrt(pow(kz_min*va,2)/(1+beta_hat*pow(kperp_rhos,2))); // KAW frequency [rad/s]. + // double omega = sqrt(pow(kz_min,2)*2/beta_e*pow(c_s,2)/(1+beta_hat*pow(ky_rhos,2))); + + double kperp = kperp_rhos/rho_s; // Minimum perpendicular wavenumber [1/m]. + double Lx = M_PI/kperp; // Domain length in x-direction [m]. + + // Grid parameters + int Nx = 8; // Number of cells in x-direction. + double x_min = -Lx/2; + double x_max = Lx/2; + int Ny = 8; + double y_min = -Lx/2; + double y_max = Lx/2; + int Nz = 12; // Reduce this to delay recurrence effect. + double z_min = -M_PI/kz_min; // Min z-coordinate [m]. + double z_max = M_PI/kz_min; // Max z-coordinate [m]. + int Nvpar = 24; // Increase this to delay recurrence effect. + double vpar_max_elc = 6.0*vte; // Max electron parallel velocity [m/s]. + double vpar_min_elc = -vpar_max_elc; // Min electron parallel velocity [m/s]. + double vpar_max_ion = 6.0*vti; // Max ion parallel velocity [m/s]. + double vpar_min_ion = -vpar_max_ion; // Min ion parallel + int Nmu = 2; + double mu_max_elc = me*pow(4*vte,2)/(2*B); // Max electron mu [J/T]. + double mu_max_ion = mi*pow(4*vti,2)/(2*B); // Max ion mu [J/T]. + int poly_order = 1; + + double t_end = nperiod*2*M_PI/omega; // End time [s]. + int num_frames = 1; + double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*1000; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 50; // Maximum allowable number of consecutive small time-steps. + + struct gk_app_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .mu0 = mu0, + .R = R, + .B = B, + .beta_hat = beta_hat, + .me = me, .qe = qe, + .mi = mi, .qi = qi, + .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, + + .Nx = Nx, + .Ny = Ny, + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .x_min = x_min, + .x_max = x_max, + .y_min = y_min, + .y_max = y_max, + .z_min = z_min, + .z_max = z_max, + .kperp = kperp, + .kz_min = kz_min, + .vpar_max_elc = vpar_max_elc, .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, .mu_max_ion = mu_max_ion, + .cells = {Nx, Ny, Nz, Nvpar, Nmu}, + .poly_order = poly_order, + + .t_end = t_end, .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + +int main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_app_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; d Date: Tue, 10 Feb 2026 14:29:56 -0500 Subject: [PATCH 094/181] Remove empty lines --- .../gkyl_gk_collisionless_flux_kernels.h | 144 ------------------ 1 file changed, 144 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index f0cb7189da..982daf25ec 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -9,7 +9,6 @@ EXTERN_C_BEG GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -17,7 +16,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -25,7 +23,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -33,7 +30,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -49,7 +45,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -57,7 +52,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -65,7 +59,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -73,7 +66,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -89,7 +81,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p2( GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -97,7 +88,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -105,7 +95,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -113,7 +102,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -129,7 +117,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -137,7 +124,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -145,7 +131,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -153,7 +138,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -169,7 +153,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p2( GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -177,7 +160,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -185,7 +167,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -193,7 +174,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -201,7 +181,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -209,7 +188,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -217,7 +195,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -225,7 +202,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -241,7 +217,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -249,7 +224,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -257,7 +231,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -265,7 +238,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -273,7 +245,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -281,7 +252,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -289,7 +259,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -297,7 +266,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -313,7 +281,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -321,7 +288,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -329,7 +295,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -337,7 +302,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -345,7 +309,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -353,7 +316,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -361,7 +323,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -369,7 +330,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -385,7 +345,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p2( GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -393,7 +352,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -401,7 +359,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -409,7 +366,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -417,7 +373,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -425,7 +380,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -433,7 +387,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -441,7 +394,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -457,7 +409,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -465,7 +416,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -473,7 +423,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -481,7 +430,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -489,7 +437,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -497,7 +444,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -505,7 +451,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -513,7 +458,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -521,7 +465,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -529,7 +472,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -537,7 +479,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -545,7 +486,6 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -561,7 +501,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -569,7 +508,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -577,7 +515,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -585,7 +522,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -593,7 +529,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -601,7 +536,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -609,7 +543,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -617,7 +550,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -625,7 +557,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -633,7 +564,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -641,7 +571,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -649,7 +578,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -665,7 +593,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -673,7 +600,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -681,7 +607,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -689,7 +614,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -705,7 +629,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -713,7 +636,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -721,7 +643,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -729,7 +650,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -745,7 +665,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p2( GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -753,7 +672,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -761,7 +679,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -769,7 +686,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -785,7 +701,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -793,7 +708,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -801,7 +715,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -809,7 +722,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -825,7 +737,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p2( GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -833,7 +744,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -841,7 +751,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -849,7 +758,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -857,7 +765,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -865,7 +772,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -873,7 +779,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -881,7 +786,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -897,7 +801,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -905,7 +808,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -913,7 +815,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -921,7 +822,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -929,7 +829,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -937,7 +836,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_ double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -945,7 +843,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -953,7 +850,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_ double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -969,7 +865,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -977,7 +872,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -985,7 +879,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -993,7 +886,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1001,7 +893,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1009,7 +900,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1017,7 +907,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1025,7 +914,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1041,7 +929,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p2( GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1049,7 +936,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1057,7 +943,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1065,7 +950,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1073,7 +957,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1081,7 +964,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_ double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1089,7 +971,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1097,7 +978,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_ double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1113,7 +993,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1121,7 +1000,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1129,7 +1007,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1137,7 +1014,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1145,7 +1021,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1153,7 +1028,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1161,7 +1035,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1169,7 +1042,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1177,7 +1049,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1185,7 +1056,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1193,7 +1063,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1201,7 +1070,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1217,7 +1085,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1225,7 +1092,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1233,7 +1099,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1241,7 +1106,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1249,7 +1113,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1257,7 +1120,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1265,7 +1127,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1273,7 +1134,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_ double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1281,7 +1141,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1289,7 +1148,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_ double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1297,7 +1155,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, @@ -1305,7 +1162,6 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_ double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, From 8528c0b6febf2488009a96b7777726093d80a3f0 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 10 Feb 2026 14:31:55 -0500 Subject: [PATCH 095/181] update calculation of alphavpar in the 1x1v case according to the latest state of the gkylcas routines. --- .../dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c index ab4e2f0517..c8f481cde2 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1.c @@ -8,8 +8,8 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double *vmap, // out: output increment. double alphavpar[6] = {0.}; - alphavpar[0] = -((1.4142135623730951*apardot[0]*q_)/m_); - alphavpar[1] = -((1.4142135623730951*apardot[1]*q_)/m_); + alphavpar[0] = -((1.1547005383792517*apardot[0]*q_)/(vmap[1]*m_)); + alphavpar[1] = -((1.1547005383792517*apardot[1]*q_)/(vmap[1]*m_)); out[2] += 0.8660254037844386*(alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); From 2c4a660ff6a2174c5be28eb5af6856374443b2ef Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 10 Feb 2026 17:59:21 -0500 Subject: [PATCH 096/181] indentation fix --- gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 3ff1e697f1..9634cff95b 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -283,12 +283,12 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu GKYL_CU_D static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[] = { { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, }, { .kernels_list = { From 00f119288e75498c0234cd6339cc869a8e52666d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 11 Feb 2026 11:11:44 -0500 Subject: [PATCH 097/181] Benign bug fix. The conditions on colless_type was badly written. This is benign because it only activate the add_apar_term volume kernel in ES case, where Apar is 0 anyway but better to make it right. --- gyrokinetic/zero/dg_gyrokinetic.c | 3 ++- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index b5c6f203d1..649ce45418 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -122,7 +122,8 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); } - gyrokinetic->vol_add_apar_term = collless_type == GKYL_GK_COLLISIONLESS_EM || GKYL_GK_COLLISIONLESS_EM_BPERP ? + gyrokinetic->vol_add_apar_term = + (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP) ? CK(vol_add_apar_kernels,cdim,vdim,poly_order) : dg_gyrokinetic_vol_return_zero; gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 52f1e81284..9185081a60 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -94,7 +94,8 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas gyrokinetic->eqn.vol_term = vol_kernels[cv_index].kernels[poly_order]; } - gyrokinetic->vol_add_apar_term = collless_type == GKYL_GK_COLLISIONLESS_EM || GKYL_GK_COLLISIONLESS_EM_BPERP ? + gyrokinetic->vol_add_apar_term = + ((collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? vol_add_apar_kernels[cv_index].kernels[poly_order] : dg_gyrokinetic_vol_return_zero; gyrokinetic->surf[0] = surf_x_kernels[cv_index].kernels[poly_order]; From 6ead1c6d430a91b79d80928282b6d49fe7c5bdd5 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 11 Feb 2026 11:12:43 -0500 Subject: [PATCH 098/181] Following the last commit, add extra parenthesis in logic to ensure that all the conditions on the collless_type are behaving correctly. --- gyrokinetic/apps/gk_field.c | 6 +- gyrokinetic/apps/gk_species.c | 2 +- gyrokinetic/apps/gk_species_collisionless.c | 4 +- gyrokinetic/apps/gyrokinetic.c | 6 + gyrokinetic/creg/rt_gk_em_asdex_2x2v_p1.c | 606 +++++++++++++++++++ gyrokinetic/zero/gk_collisionless_flux.c | 2 +- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 2 +- 7 files changed, 620 insertions(+), 8 deletions(-) create mode 100644 gyrokinetic/creg/rt_gk_em_asdex_2x2v_p1.c diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index d9714a151b..cdc8361455 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -387,9 +387,9 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Ensure that if any species is electromagnetic, the field is electromagnetic. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; - f->is_em = f->is_em || s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM || - s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP || - s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPAR; + f->is_em = f->is_em || (s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || + (s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP) || + (s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPAR); } if (f->is_em) { assert(f->info.mu0 > 0.0); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 90d8a69316..83e3fba70e 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -981,7 +981,7 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; - if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM || gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP) + if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)) gks->add_apardot_rhs_func = gk_species_add_apardot_dynamic; else gks->add_apardot_rhs_func = gk_species_rhs_static; diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index ec938ff2f8..f6c3a83e95 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -177,7 +177,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gkcls->write_diags_func = gk_species_collisionless_write_diags_enabled; } // Electromagnetic set up. - if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM || gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { + if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { only_apardot = true; // Create a special flux operator that only adds the AparDot contribution. gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, @@ -231,7 +231,7 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); - if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM || gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP) { + if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { gkyl_gk_collisionless_flux_release(gkcls->add_apardot_surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->add_apardot_slvr); } diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 7f58334f02..4cf56ad880 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1981,6 +1981,12 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; gk_species_add_apardot_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); + } + + // Update boundary fluxes and compute CFL condition. + for (int i=0; inum_species; ++i) { + struct gk_species *gk_s = &app->species[i]; + // gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); double dt1 = gk_species_get_cfl(app, gk_s, fin[i], fout[i], bflux_out[i]); dtmin = fmin(dtmin, dt1); } diff --git a/gyrokinetic/creg/rt_gk_em_asdex_2x2v_p1.c b/gyrokinetic/creg/rt_gk_em_asdex_2x2v_p1.c new file mode 100644 index 0000000000..5060913b9a --- /dev/null +++ b/gyrokinetic/creg/rt_gk_em_asdex_2x2v_p1.c @@ -0,0 +1,606 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +#include + +struct gk_asdex_ctx { + int cdim, vdim; // Dimensionality + + double chargeElc; // electron charge + double massElc; // electron mass + double chargeIon; // ion charge + double massIon; // ion mass + double Te; // electron temperature + double Ti; // ion temperature + double c_s; // sound speed + double nuElc; // electron collision frequency + double nuIon; // ion collision frequency + double B0; // reference magnetic field + double n0; // reference density + // Source parameters + double lambda_source; + double x_source; + // Domain parameters. + int Nx, Nz; // Number of cells in x,y,z. + int Nvpar, Nmu; // Number of cells in vpar,mu. + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + double Lx; // Box size in x + double Lz; // Box size in z + // Physical velocity space limits + double vpar_max_elc; // Velocity space extents in vparallel for electrons + double mu_max_elc; // Velocity space extents in mu for electrons + double vpar_max_ion; // Velocity space extents in vparallel for ions + double mu_max_ion; // Velocity space extents in mu for ions + // Computational velocity space limits + double vpar_min_elc_c, vpar_max_elc_c; + double mu_min_elc_c, mu_max_elc_c; + double vpar_min_ion_c, vpar_max_ion_c; + double mu_min_ion_c, mu_max_ion_c; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +double random0to1() +{ + return (double)rand() / (double)RAND_MAX; +} + +void +eval_density(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double x = xn[0], z = xn[1]; + double floor = 0.01; + + fout[0] = fmax(exp(-128.48398224*x+62.52416972), floor); // The coefficients from fitting the data points on Fig. 7 Carralero 2017 Nuclear Fusion. +} + +void +eval_upar(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} + +void +eval_temp_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double x = xn[0], z = xn[1]; + double eV = GKYL_ELEMENTARY_CHARGE; + + //fout[0] = (-2000.0*x + 360.0)*eV; // [16, 40] eV + fout[0] = (-50*tanh((x-0.15)/0.022) + 40) * eV; +} + +void +eval_temp_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double x = xn[0], z = xn[1]; + double eV = GKYL_ELEMENTARY_CHARGE; + + //fout[0] = (-3000.0*x + 552.0)*eV; // [36, 72] eV + fout[0] = (-90*tanh((x-0.15)/0.022) + 72) * eV; +} + +void +eval_density_source(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double x = xn[0], z = xn[1]; + double lambda_source = app->lambda_source; + double x_source = app->x_source; + double z_source = 0.0; + double Lz = app->Lz; + double source_floor = 1e-10; + + if (x < x_source + 3*lambda_source) + source_floor = 1e-2; + if (fabs(z) < Lz/4) + fout[0] = 6.0e21*fmax(exp(-(x-x_source)*(x-x_source)/((2*lambda_source)*(2*lambda_source))), source_floor); + else + fout[0] = 6.0e21*1e-40; +} + +void +eval_upar_source(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} + +void +eval_temp_elc_source(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double x = xn[0], z = xn[1]; + double lambda_source = app->lambda_source; + double x_source = app->x_source; + double Lz = app->Lz; + double eV = GKYL_ELEMENTARY_CHARGE; + if ((x < x_source + 3*lambda_source) && (fabs(z) < Lz/4)) + fout[0] = 40.0*eV; + else + fout[0] = 1.920292202211762*eV; +} + +void +eval_temp_ion_source(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double x = xn[0], z = xn[1]; + double lambda_source = app->lambda_source; + double x_source = app->x_source; + double Lz = app->Lz; + double eV = GKYL_ELEMENTARY_CHARGE; + if ((x < x_source + 3*lambda_source) && (fabs(z) < Lz/4)) + fout[0] = 72.0*eV; + else + fout[0] = 3.4565259639811785*eV; +} + +void +diffusion_D_func(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + struct sheath_ctx *app = ctx; + + fout[0] = 0.1; // Diffusivity [m^2/s]. +} + +// Velocity space mappings. +void mapc2p_vel_elc(double t, const double *vc, double* GKYL_RESTRICT vp, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double vpar_max_elc = app->vpar_max_elc; + double mu_max_elc = app->mu_max_elc; + + double cvpar = vc[0], cmu = vc[1]; + // Linear map up to vpar_max/2, then quadratic. + if (fabs(cvpar) <= 0.5) + vp[0] = vpar_max_elc*cvpar; + else if (cvpar < -0.5) + vp[0] = -vpar_max_elc*2.0*pow(cvpar,2); + else + vp[0] = vpar_max_elc*2.0*pow(cvpar,2); + + // Quadratic map in mu. + vp[1] = mu_max_elc*pow(cmu,2); +} + +void mapc2p_vel_ion(double t, const double *vc, double* GKYL_RESTRICT vp, void *ctx) +{ + struct gk_asdex_ctx *app = ctx; + double vpar_max_ion = app->vpar_max_ion; + double mu_max_ion = app->mu_max_ion; + + double cvpar = vc[0], cmu = vc[1]; + // Linear map up to vpar_max/2, then quadratic. + if (fabs(cvpar) <= 0.5) + vp[0] = vpar_max_ion*cvpar; + else if (cvpar < -0.5) + vp[0] = -vpar_max_ion*2.0*pow(cvpar,2); + else + vp[0] = vpar_max_ion*2.0*pow(cvpar,2); + + // Quadratic map in mu. + vp[1] = mu_max_ion*pow(cmu,2); +} + +struct gk_asdex_ctx +create_ctx(void) +{ + int cdim = 2, vdim = 2; // Dimensionality. + + double eps0 = GKYL_EPSILON0; + double eV = GKYL_ELEMENTARY_CHARGE; + double mi = 2.014*GKYL_PROTON_MASS; // ion mass + double me = GKYL_ELECTRON_MASS; + double qi = eV; // ion charge + double qe = -eV; // electron charge + + double Te = 40.0*eV; + double Ti = 72.0*eV; + double B0 = 2.57; // Magnetic field magnitude in Tesla + double n0 = 6.0e18; // Particle density in 1/m^3 + + // Derived parameters. + double vtIon = sqrt(Ti/mi); + double vtElc = sqrt(Te/me); + double c_s = sqrt(Te/mi); + double omega_ci = fabs(qi*B0/mi); + double rho_s = c_s/omega_ci; + + + // Collision parameters. + double nuFrac = 1.0; + double logLambdaElc = 6.6 - 0.5*log(n0/1e20) + 1.5*log(Te/eV); + double nuElc = nuFrac*logLambdaElc*pow(eV, 4.0)*n0/(6.0*sqrt(2.0)*M_PI*sqrt(M_PI)*eps0*eps0*sqrt(me)*(Te*sqrt(Te))); // collision freq + + double logLambdaIon = 6.6 - 0.5*log(n0/1e20) + 1.5*log(Ti/eV); + double nuIon = nuFrac*logLambdaIon*pow(eV, 4.0)*n0/(12.0*M_PI*sqrt(M_PI)*eps0*eps0*sqrt(mi)*(Ti*sqrt(Ti))); + + // Simulation box size (psi, theta). + double Lx = 0.172 - 0.150; + double Lz = (M_PI-1.0e-14)*2; + + // Source parameters. + double x_source = 0.160; // changed from 0.16167 + double lambda_source = 0.0004; // Changed from 0.00034, characteristic length scale of n and T + + // Physical velocity space limits + double vpar_max_elc = 6.0*vtElc; + double mu_max_elc = me*(4.0*vtElc)*(4.0*vtElc)/(2.0*B0); + + double vpar_max_ion = 6.0*vtIon; + double mu_max_ion = mi*(4.0*vtIon)*(4.0*vtIon)/(2.0*B0); + + // Computational velocity space limits. + double vpar_min_ion_c = -1.0/sqrt(2.0); + double vpar_max_ion_c = 1.0/sqrt(2.0); + double mu_min_ion_c = 0.; + double mu_max_ion_c = 1.; + // Computational velocity space limits. + double vpar_min_elc_c = -1.0/sqrt(2.0); + double vpar_max_elc_c = 1.0/sqrt(2.0); + double mu_min_elc_c = 0.; + double mu_max_elc_c = 1.; + + int Nx = 16; // Number of cells in x. + int Nz = 16; // Number of cells in z, originally 8. + int Nvpar = 16; // Number of cells in vpar. + int Nmu = 8; // Number of cells in mu. + + double t_end = 10.0e-6; + double num_frames = 20; + double write_phase_freq = 0.2; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*100; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 20; // Maximum allowable number of consecutive small time-steps. + + struct gk_asdex_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .chargeElc = qe, + .massElc = me, + .chargeIon = qi, + .massIon = mi, + .Te = Te, + .Ti = Ti, + .c_s = c_s, + .nuElc = nuElc, + .nuIon = nuIon, + .B0 = B0, + .n0 = n0, + .Lx = Lx, + .Lz = Lz, + .lambda_source = lambda_source, + .x_source = x_source, + // Physical velocity space limits + .vpar_max_elc = vpar_max_elc, + .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, + .mu_max_ion = mu_max_ion, + // Computational velocity space limits + .vpar_min_elc_c = vpar_min_elc_c, + .vpar_max_elc_c = vpar_max_elc_c, + .mu_min_elc_c = mu_min_elc_c, + .mu_max_elc_c = mu_max_elc_c, + .vpar_min_ion_c = vpar_min_ion_c, + .vpar_max_ion_c = vpar_max_ion_c, + .mu_min_ion_c = mu_min_ion_c, + .mu_max_ion_c = mu_max_ion_c, + .Nx = Nx, + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .cells = {Nx, Nz, Nvpar, Nmu}, + .t_end = t_end, + .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + +int +main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_asdex_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; dflux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); } else { - int em = (type == GKYL_GK_COLLISIONLESS_EM || type == GKYL_GK_COLLISIONLESS_EM_BPERP) ? 1 : 0; + int em = ((type == GKYL_GK_COLLISIONLESS_EM) || (type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? 1 : 0; if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index fa2ef0a8aa..4af0b95b54 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -259,7 +259,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, up->charge = charge; up->mass = mass; - int em = (type == GKYL_GK_COLLISIONLESS_EM || type == GKYL_GK_COLLISIONLESS_EM_BPERP) ? 1 : 0; + int em = ((type == GKYL_GK_COLLISIONLESS_EM) || (type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? 1 : 0; // Acquire pointers to on_dev objects so memcpy below copies those too. struct gk_geometry *geom_ho = gkyl_gk_geometry_acquire(gk_geom); From 7b819c054360f0a8ff6a153c1b93af9026aeb92b Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 12 Feb 2026 15:20:32 -0500 Subject: [PATCH 099/181] remove unused kernel --- .../gk_collisionless_flux_surfvpar_return_zero.c | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c deleted file mode 100644 index b47331bf64..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_surfvpar_return_zero( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - return 0.0; -} \ No newline at end of file From ac10eb7e0f228fd1eccb9077013e20c6e9181321 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 12 Feb 2026 15:31:58 -0500 Subject: [PATCH 100/181] remove unused return zero vpar kernel and handle improve spacing --- .../gk_collisionless_flux_surf_return_zero.c | 2 +- .../gkyl_gk_collisionless_flux_kernels.h | 2072 ++++++++--------- 2 files changed, 1033 insertions(+), 1041 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c index 5f1299df4e..95196d3239 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c @@ -8,4 +8,4 @@ GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { return 0.0; -} \ No newline at end of file +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index 982daf25ec..bf3aa0d71e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -8,1240 +8,1232 @@ EXTERN_C_BEG GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_surfvpar_return_zero( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); EXTERN_C_END From e5a0cf6df4be367a2e3c79cf8b5e665e4081fd15 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 17 Feb 2026 09:52:19 -0500 Subject: [PATCH 101/181] =?UTF-8?q?=F0=9F=90=9B*=20Rehandling=20of=20the?= =?UTF-8?q?=20EM=20workflow.=20Now,=20we=20call=20the=20RHS=20species=20fu?= =?UTF-8?q?nction=20twice=20in=20gyrokinetic.c:=20once=20to=20build=20RHS*?= =?UTF-8?q?=20which=20is=20used=20to=20solve=20Ohm's=20law=20and=20get=20A?= =?UTF-8?q?pardot,=20once=20to=20build=20the=20total=20RHS.=20The=20goal?= =?UTF-8?q?=20is=20to=20be=20sure=20that=20the=20upwind=20direction=20is?= =?UTF-8?q?=20chosen=20w.r.t.=20the=20total=20advection=20(the=20other=20e?= =?UTF-8?q?m=20branch=20upwind=20first=20ES+Apar,=20then=20Apardot=20only)?= =?UTF-8?q?.=20*:=20this=20branch=20may=20contain=20a=20bug,=20the=20alfve?= =?UTF-8?q?n=20wave=20test=20is=20no=20giving=20very=20clean=20results=20a?= =?UTF-8?q?s=20the=20get=5Fem=5Fback=20branch=20does.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Details: - We replace the `add_apardot` flag by an `em_star` flag, which tells the dg vol and flux updaters if we are computing the full RHS or the RHS_star (no Apardot contribution). - The surface flux kernels are now split in three cases: vanilla (electrostatic), em_star (ES+Apar RHS for solving Ohm's law), and em (full ES+Apar+Apardot). - The volume kernels are now all called through a unified kernel function that calls pointers to function to get electrostatic, Apar and Apardot terms. These pointers to function are used to activate or not the em terms. --- gyrokinetic/apps/gk_species.c | 56 +- gyrokinetic/apps/gk_species_collisionless.c | 62 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 40 +- gyrokinetic/apps/gyrokinetic.c | 27 +- ...ollisionless_flux_edge_surfx_1x1v_ser_p1.c | 3 +- ...ollisionless_flux_edge_surfx_1x2v_ser_p1.c | 3 +- ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 3 +- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 3 +- ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 3 +- ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 3 +- ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 3 +- ...sionless_flux_em_edge_surfx_1x1v_ser_p1.c} | 5 +- ...sionless_flux_em_edge_surfx_1x2v_ser_p1.c} | 5 +- ...sionless_flux_em_edge_surfx_2x2v_ser_p1.c} | 5 +- ...sionless_flux_em_edge_surfx_3x2v_ser_p1.c} | 5 +- ...sionless_flux_em_edge_surfy_2x2v_ser_p1.c} | 5 +- ...sionless_flux_em_edge_surfy_3x2v_ser_p1.c} | 5 +- ...sionless_flux_em_edge_surfz_3x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfx_1x1v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfx_1x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfx_2x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfx_3x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfy_2x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfy_3x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfz_3x2v_ser_p1.c} | 5 +- ...ux_em_multib_boundary_surfx_1x1v_ser_p1.c} | 5 +- ...ux_em_multib_boundary_surfx_1x2v_ser_p1.c} | 5 +- ...ux_em_multib_boundary_surfx_2x2v_ser_p1.c} | 5 +- ...ux_em_multib_boundary_surfx_3x2v_ser_p1.c} | 5 +- ...ux_em_multib_boundary_surfy_2x2v_ser_p1.c} | 5 +- ...ux_em_multib_boundary_surfy_3x2v_ser_p1.c} | 5 +- ...ux_em_multib_boundary_surfz_3x2v_ser_p1.c} | 5 +- ...ss_flux_em_no_by_edge_surfx_2x2v_ser_p1.c} | 5 +- ...ss_flux_em_no_by_edge_surfx_3x2v_ser_p1.c} | 5 +- ...ss_flux_em_no_by_edge_surfy_2x2v_ser_p1.c} | 5 +- ...ss_flux_em_no_by_edge_surfy_3x2v_ser_p1.c} | 5 +- ...ss_flux_em_no_by_edge_surfz_3x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfx_2x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfx_3x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfy_2x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfy_3x2v_ser_p1.c} | 5 +- ..._multib_boundary_edge_surfz_3x2v_ser_p1.c} | 5 +- ...no_by_multib_boundary_surfx_2x2v_ser_p1.c} | 5 +- ...no_by_multib_boundary_surfx_3x2v_ser_p1.c} | 5 +- ...no_by_multib_boundary_surfy_2x2v_ser_p1.c} | 5 +- ...no_by_multib_boundary_surfy_3x2v_ser_p1.c} | 5 +- ...no_by_multib_boundary_surfz_3x2v_ser_p1.c} | 5 +- ...less_flux_em_no_by_surfvpar_2x2v_ser_p1.c} | 142 +- ...less_flux_em_no_by_surfvpar_3x2v_ser_p1.c} | 250 +- ...ionless_flux_em_no_by_surfx_2x2v_ser_p1.c} | 5 +- ...ionless_flux_em_no_by_surfx_3x2v_ser_p1.c} | 5 +- ...ionless_flux_em_no_by_surfy_2x2v_ser_p1.c} | 5 +- ...ionless_flux_em_no_by_surfy_3x2v_ser_p1.c} | 5 +- ...ionless_flux_em_no_by_surfz_3x2v_ser_p1.c} | 5 +- ...less_flux_em_star_edge_surfx_1x1v_ser_p1.c | 98 + ...less_flux_em_star_edge_surfx_1x2v_ser_p1.c | 126 + ...less_flux_em_star_edge_surfx_2x2v_ser_p1.c | 217 ++ ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 372 +++ ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 217 ++ ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 374 +++ ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 372 +++ ...r_multib_boundary_edge_surfx_1x1v_ser_p1.c | 100 + ...r_multib_boundary_edge_surfx_1x2v_ser_p1.c | 128 + ...r_multib_boundary_edge_surfx_2x2v_ser_p1.c | 231 ++ ...r_multib_boundary_edge_surfx_3x2v_ser_p1.c | 398 +++ ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 231 ++ ...r_multib_boundary_edge_surfy_3x2v_ser_p1.c | 400 +++ ...r_multib_boundary_edge_surfz_3x2v_ser_p1.c | 398 +++ ...m_star_multib_boundary_surfx_1x1v_ser_p1.c | 100 + ...m_star_multib_boundary_surfx_1x2v_ser_p1.c | 128 + ...m_star_multib_boundary_surfx_2x2v_ser_p1.c | 231 ++ ...m_star_multib_boundary_surfx_3x2v_ser_p1.c | 398 +++ ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 231 ++ ...m_star_multib_boundary_surfy_3x2v_ser_p1.c | 400 +++ ...m_star_multib_boundary_surfz_3x2v_ser_p1.c | 398 +++ ...lux_em_star_no_by_edge_surfx_2x2v_ser_p1.c | 193 ++ ...lux_em_star_no_by_edge_surfx_3x2v_ser_p1.c | 324 +++ ...lux_em_star_no_by_edge_surfy_2x2v_ser_p1.c | 193 ++ ...lux_em_star_no_by_edge_surfy_3x2v_ser_p1.c | 326 +++ ...lux_em_star_no_by_edge_surfz_3x2v_ser_p1.c | 324 +++ ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 207 ++ ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 350 +++ ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 207 ++ ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 352 +++ ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 350 +++ ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 207 ++ ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 350 +++ ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 207 ++ ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 352 +++ ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 350 +++ ...flux_em_star_no_by_surfvpar_2x2v_ser_p1.c} | 15 +- ...flux_em_star_no_by_surfvpar_3x2v_ser_p1.c} | 15 +- ...ess_flux_em_star_no_by_surfx_2x2v_ser_p1.c | 193 ++ ...ess_flux_em_star_no_by_surfx_3x2v_ser_p1.c | 324 +++ ...ess_flux_em_star_no_by_surfy_2x2v_ser_p1.c | 193 ++ ...ess_flux_em_star_no_by_surfy_3x2v_ser_p1.c | 326 +++ ...ess_flux_em_star_no_by_surfz_3x2v_ser_p1.c | 324 +++ ...nless_flux_em_star_surfvpar_1x1v_ser_p1.c} | 15 +- ...nless_flux_em_star_surfvpar_1x2v_ser_p1.c} | 15 +- ...nless_flux_em_star_surfvpar_2x2v_ser_p1.c} | 15 +- ...nless_flux_em_star_surfvpar_3x2v_ser_p1.c} | 15 +- ...isionless_flux_em_star_surfx_1x1v_ser_p1.c | 98 + ...isionless_flux_em_star_surfx_1x2v_ser_p1.c | 126 + ...isionless_flux_em_star_surfx_2x2v_ser_p1.c | 217 ++ ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 372 +++ ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 217 ++ ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 374 +++ ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 372 +++ ...llisionless_flux_em_surfvpar_1x1v_ser_p1.c | 105 + ...llisionless_flux_em_surfvpar_1x2v_ser_p1.c | 129 + ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 226 ++ ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 423 ++++ ...collisionless_flux_em_surfx_1x1v_ser_p1.c} | 5 +- ...collisionless_flux_em_surfx_1x2v_ser_p1.c} | 5 +- ...collisionless_flux_em_surfx_2x2v_ser_p1.c} | 5 +- ...collisionless_flux_em_surfx_3x2v_ser_p1.c} | 5 +- ...collisionless_flux_em_surfy_2x2v_ser_p1.c} | 5 +- ...collisionless_flux_em_surfy_3x2v_ser_p1.c} | 5 +- ...collisionless_flux_em_surfz_3x2v_ser_p1.c} | 5 +- ...x_multib_boundary_edge_surfx_1x1v_ser_p1.c | 3 +- ...x_multib_boundary_edge_surfx_1x2v_ser_p1.c | 3 +- ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 3 +- ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 3 +- ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 3 +- ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 3 +- ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 3 +- ...s_flux_multib_boundary_surfx_1x1v_ser_p1.c | 3 +- ...s_flux_multib_boundary_surfx_1x2v_ser_p1.c | 3 +- ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 3 +- ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 3 +- ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 3 +- ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 3 +- ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 3 +- ...onless_flux_no_by_edge_surfx_2x2v_ser_p1.c | 3 +- ...onless_flux_no_by_edge_surfx_3x2v_ser_p1.c | 3 +- ...onless_flux_no_by_edge_surfy_2x2v_ser_p1.c | 3 +- ...onless_flux_no_by_edge_surfy_3x2v_ser_p1.c | 3 +- ...onless_flux_no_by_edge_surfz_3x2v_ser_p1.c | 3 +- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 3 +- ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 3 +- ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 3 +- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 3 +- ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 3 +- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 3 +- ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 3 +- ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 3 +- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 3 +- ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 3 +- ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 13 +- ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 13 +- ...llisionless_flux_no_by_surfx_2x2v_ser_p1.c | 3 +- ...llisionless_flux_no_by_surfx_3x2v_ser_p1.c | 3 +- ...llisionless_flux_no_by_surfy_2x2v_ser_p1.c | 3 +- ...llisionless_flux_no_by_surfy_3x2v_ser_p1.c | 3 +- ...llisionless_flux_no_by_surfz_3x2v_ser_p1.c | 3 +- .../gk_collisionless_flux_surf_return_zero.c | 2 +- ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 13 +- ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 13 +- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 13 +- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 13 +- .../gk_collisionless_flux_surfx_1x1v_ser_p1.c | 3 +- .../gk_collisionless_flux_surfx_1x2v_ser_p1.c | 3 +- .../gk_collisionless_flux_surfx_2x2v_ser_p1.c | 3 +- .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 3 +- .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 3 +- .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 3 +- .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 3 +- ...ss_flux_add_apardot_surfvpar_1x1v_ser_p1.c | 65 - ...ss_flux_add_apardot_surfvpar_1x2v_ser_p1.c | 83 - .../gkyl_gk_collisionless_flux_kernels.h | 2167 ++++++++--------- gyrokinetic/zero/dg_gyrokinetic.c | 34 +- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 24 +- gyrokinetic/zero/dg_updater_gyrokinetic.c | 4 +- gyrokinetic/zero/gk_collisionless_flux.c | 66 +- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 23 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 373 +-- .../zero/gkyl_dg_updater_gyrokinetic.h | 17 +- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 6 +- .../zero/gkyl_gk_collisionless_flux_priv.h | 360 ++- 179 files changed, 16048 insertions(+), 2164 deletions(-) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c => gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c} (95%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c => gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c} (97%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c} (95%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c} (96%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c} (95%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c} (96%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c} (66%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c} (77%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c} (99%) create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c => gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c} (96%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c => gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c} (98%) create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c => gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c} (88%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c => gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c} (93%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c => gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c} (98%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c => gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c} (99%) create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfx_1x1v_ser_p1.c => gk_collisionless_flux_em_surfx_1x1v_ser_p1.c} (95%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfx_1x2v_ser_p1.c => gk_collisionless_flux_em_surfx_1x2v_ser_p1.c} (97%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfx_2x2v_ser_p1.c => gk_collisionless_flux_em_surfx_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfx_3x2v_ser_p1.c => gk_collisionless_flux_em_surfx_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfy_2x2v_ser_p1.c => gk_collisionless_flux_em_surfy_2x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfy_3x2v_ser_p1.c => gk_collisionless_flux_em_surfy_3x2v_ser_p1.c} (99%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_em_collisionless_flux_surfz_3x2v_ser_p1.c => gk_collisionless_flux_em_surfz_3x2v_ser_p1.c} (99%) delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 83e3fba70e..aaead547ee 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -162,14 +162,45 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, } static void -gk_species_add_apardot_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_rhs_star_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - struct timespec wst = gkyl_wall_clock(); + // Gyroaverage the potential if needed. + species->gyroaverage(app, species, app->field->phi_smooth, species->gyro_phi); + + gkyl_array_clear(species->cflrate, 0.0); + gkyl_array_clear(rhs, 0.0); + + // Collisionless terms. + gk_species_collisionless_rhs_star(app, species, &species->collisionless, fin, rhs); + + // Damping term. + gk_species_damping_advance(app, species, &species->damping, app->field->phi_smooth, fin, + species->lte.f_lte, rhs, species->cflrate); - gk_species_collisionless_add_apardot_rhs(app, species, &species->collisionless, fin, rhs); + // LBO Collisions. + gk_species_lbo_rhs(app, species, &species->lbo, fin, rhs); - app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); + // BGK collisions. + gk_species_bgk_rhs(app, species, &species->bgk, fin, rhs); + + // Anomalous diffusion. + gk_species_anomalous_diff_rhs(app, species, &species->anom_diff, fin, rhs); + + // Line radiation. + gk_species_radiation_rhs(app, species, &species->rad, fin, rhs); + + // Reactions with charged species. + gk_species_react_rhs(app, species, &species->react, fin, rhs); + + // Reactions with neutral species. + gk_species_react_rhs(app, species, &species->react_neut, fin, rhs); + + // Heating source. + gk_species_heating_rhs(app, species, &species->heat_src, fin, rhs); + + // Particle + heat source terms. + gk_species_source_rhs(app, species, &species->src, fin, rhs); } static double @@ -979,12 +1010,13 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app } // Set function pointers. - gks->rhs_func = gk_species_rhs_dynamic; + gks->rhs_func = gk_species_rhs_static; + if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)){ + gks->rhs_star_func = gk_species_rhs_star_dynamic; + } else { + gks->rhs_star_func = gk_species_rhs_static; + } gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; - if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)) - gks->add_apardot_rhs_func = gk_species_add_apardot_dynamic; - else - gks->add_apardot_rhs_func = gk_species_rhs_static; gks->bflux_update = gk_species_update_bflux_dynamic; gks->get_cfl = gk_species_get_cfl_dynamic; gks->bc_func = gk_species_apply_bc_dynamic; @@ -1020,8 +1052,8 @@ gk_species_init_static(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app * // Set function pointers. gks->rhs_func = gk_species_rhs_static; + gks->rhs_star_func = gk_species_rhs_static; gks->rhs_implicit_func = gk_species_rhs_implicit_static; - gks->add_apardot_rhs_func = gk_species_rhs_static; gks->bflux_update = gk_species_rhs_static; gks->get_cfl = gk_species_get_cfl_static; gks->bc_func = gk_species_apply_bc_static; @@ -1819,10 +1851,10 @@ gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, } void -gk_species_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - species->add_apardot_rhs_func(app, species, fin, rhs, bflux_moms); + species->rhs_star_func(app, species, fin, rhs, bflux_moms); } void diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index f6c3a83e95..2cd5fba41c 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -20,9 +20,20 @@ gk_species_collisionless_flux_enabled(gkyl_gyrokinetic_app *app, struct gk_speci // where they are not defined. gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_op, &app->local, &species->local, &app->local_ext, &species->local_ext, - species->gyro_phi, species->gyro_apar, fin, gkcls->flux_surf, species->cflrate); + species->gyro_phi, species->gyro_apar, species->gyro_apardot, fin, gkcls->flux_surf, species->cflrate); } +static void +gk_species_collisionless_flux_star_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin) +{ + // Compute the surface expansion of the phase space flux for ES + Apar contributions. + gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_em_star_op, + &app->local, &species->local, &app->local_ext, &species->local_ext, + species->gyro_phi, species->gyro_apar, species->gyro_apardot, fin, gkcls->flux_surf, species->cflrate); +} + + static void gk_species_collisionless_rhs_disabled(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) @@ -45,22 +56,19 @@ gk_species_collisionless_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_specie app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); } -static void gk_species_collisionless_add_apardot_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, +static void +gk_species_collisionless_rhs_star_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { struct timespec wst = gkyl_wall_clock(); - // First remove the current ES+Apar contribution from the flux_surf array. - // Otherwise it will be counted twice in the gkyl_dg update. - gkyl_array_clear(gkcls->flux_surf, 0.0); - gkyl_gk_collisionless_flux_surf(gkcls->add_apardot_surf_flux_op, - &app->local, &species->local, &app->local_ext, &species->local_ext, - species->gyro_phi, species->gyro_apardot, fin, gkcls->flux_surf, species->cflrate); + gkcls->flux_func_star(app, species, gkcls, fin); - // Advance the rhs adding only the Apardot volume contribution. - gkyl_dg_updater_gyrokinetic_advance(gkcls->add_apardot_slvr, &species->local, + gkyl_dg_updater_gyrokinetic_advance(gkcls->slvr_em_star, &species->local, fin, species->cflrate, rhs); + gkcls->fdot_scaling(app, species, gkcls, rhs, species->cflrate, &species->local); + app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); } @@ -106,7 +114,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; gkcls->flux_func = gk_species_collisionless_flux_disabled; gkcls->rhs_func = gk_species_collisionless_rhs_disabled; - gkcls->add_apardot_rhs_func = gk_species_collisionless_rhs_disabled; + gkcls->rhs_star_func = gk_species_collisionless_rhs_disabled; if (gkcls->collisionless_id) { @@ -150,9 +158,9 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie bctype_conf[GKYL_MAX_CDIM+d] = gks->upper_bc[d].type; } - bool only_apardot = false; + bool em_star = false; gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, @@ -160,7 +168,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Create solver. gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); gkcls->scale_fac = -1.0; // Not used if scale_factor in input file is not given. @@ -178,18 +186,18 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie } // Electromagnetic set up. if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { - only_apardot = true; - // Create a special flux operator that only adds the AparDot contribution. - gkcls->add_apardot_surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, + // Set up ES + Apar contributions to flux and solver. + em_star = true; + gkcls->surf_flux_em_star_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); - // Create solver that only adds AparDot terms. - gkcls->add_apardot_slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + gkcls->slvr_em_star = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, gkcls->no_by, only_apardot, app->gk_geom, gks->vel_map, + gks->info.skip_cell_threshold, gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); // Methods chosen at runtime. - gkcls->add_apardot_rhs_func = gk_species_collisionless_add_apardot_rhs_enabled; + gkcls->flux_func_star = gk_species_collisionless_flux_star_enabled; // ES + Apar. + gkcls->rhs_star_func = gk_species_collisionless_rhs_star_enabled; // ES + Apar. } } } @@ -208,11 +216,11 @@ gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *speci gkcls->rhs_func(app, species, gkcls, fin, rhs); } -void -gk_species_collisionless_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +void +gk_species_collisionless_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { - gkcls->add_apardot_rhs_func(app, species, gkcls, fin, rhs); + gkcls->rhs_star_func(app, species, gkcls, fin, rhs); } void @@ -232,8 +240,8 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { - gkyl_gk_collisionless_flux_release(gkcls->add_apardot_surf_flux_op); - gkyl_dg_updater_gyrokinetic_release(gkcls->add_apardot_slvr); + gkyl_gk_collisionless_flux_release(gkcls->surf_flux_em_star_op); + gkyl_dg_updater_gyrokinetic_release(gkcls->slvr_em_star); } if (gkcls->write_diagnostics) { diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index ab1ba821fb..71758f9500 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -296,13 +296,15 @@ struct gk_collisionless { struct { struct gkyl_array *flux_surf; // Array for surface phase space flux struct gkyl_gk_collisionless_flux *surf_flux_op; // Collisionless fluxes. - struct gkyl_gk_collisionless_flux *add_apardot_surf_flux_op; // Updater to add Apardot terms to fluxes. + struct gkyl_gk_collisionless_flux *surf_flux_em_star_op; // EM collisionless fluxes without Apardot contribution. gkyl_dg_updater_gyrokinetic *slvr; // Collisionless solver. - gkyl_dg_updater_gyrokinetic *add_apardot_slvr; // Solver to add Apardot terms to RHS. + gkyl_dg_updater_gyrokinetic *slvr_em_star; // EM without Apardot contribution. // Methods chosen at runtime. void (*flux_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin); + void (*flux_func_star)(gkyl_gyrokinetic_app *app, struct gk_species *species, + struct gk_collisionless *gkcls, const struct gkyl_array *fin); }; // Neutral (Vlasov) species ............................................ // struct { @@ -321,7 +323,7 @@ struct gk_collisionless { }; void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); - void (*add_apardot_rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + void (*rhs_star_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); void (*fdot_scaling)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, struct gkyl_array *rhs, struct gkyl_array *cflrate, struct gkyl_range *rng); @@ -1037,10 +1039,11 @@ struct gk_species { struct gk_positivity positivity; // Positivity enforcing operator. - // Pointer to various functions selected at runtime. + // Pointer to full RHS (ES + [Apar + Apardot]). void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); - void (*add_apardot_rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + // Pointer to RHS star function (ES + [Apar]). + void (*rhs_star_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); void (*bflux_update)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); @@ -1821,27 +1824,15 @@ void gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species * struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); /** - * @brief Add Apardot electromagnetic contribution to the collisionless RHS. - * - * @param app Gyrokinetic app object. - * @param species Pointer to species. - * @param gkcls Species collisionless object. - * @param fin Input distribution function. - * @param rhs On output, the RHS from collisionless terms including EM contribution. - */ -void gk_species_collisionless_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, - struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); - -/** - * @brief Add Apardot electromagnetic contribution to the collisionless RHS. - * + * Compute RHS star (ES + Aparallel). + * * @param app Gyrokinetic app object. - * @param species Pointer to species. + * @param gks Pointer to species. * @param gkcls Species collisionless object. * @param fin Input distribution function. - * @param rhs On output, the RHS from collisionless terms including EM contribution. + * @param rhs collisionless contribution to df/dt. */ -void gk_species_collisionless_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +void gk_species_collisionless_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); /** @@ -3099,16 +3090,15 @@ void gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); /** - * Add the Apardot electromagnetic part of the RHS from species distribution function + * Compute RHS star (ES + Apar) from species distribution function. * * @param app gyrokinetic app object. * @param species Pointer to species. * @param fin Input distribution function. * @param rhs On output, the RHS from the species object. * @param bflux_moms Output boundary flux moments. - * @return Maximum stable time-step. */ -void gk_species_add_apardot_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, +void gk_species_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); /** diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 4cf56ad880..3b764403a7 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1950,7 +1950,19 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_neut_species_recycle_react_scale_cross_moms(app, gk_ns, &gk_ns->rrs, fin, fin_neut); } - // Compute df/dt (not including sources). + // Compute df/dt^* for Ohm's law. + for (int i=0; inum_species; ++i) { + struct gk_species *gk_s = &app->species[i]; + gk_species_rhs_star(app, gk_s, fin[i], fout[i], bflux_out[i]); + gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); + } + + // Compute Apardot (solves Ohm's law using the previously built df/dt^*). + gk_field_em_rhs(app, app->field, fin, fout); + // Update aparout. + gk_field_em_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); + + // Compute the total RHS. for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; gk_species_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); @@ -1972,21 +1984,10 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, &app->neut_species[i].src, fin_neut[i], fout_neut[i]); } - // Compute Apardot (solves Ohm's law using the previously built RHS). - gk_field_em_rhs(app, app->field, fin, fout); - // Update aparout. - gk_field_em_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); - - // Add Apardot contributions to the collisionless update of charged species. - for (int i=0; inum_species; ++i) { - struct gk_species *gk_s = &app->species[i]; - gk_species_add_apardot_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); - } - // Update boundary fluxes and compute CFL condition. for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - // gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); + gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); double dt1 = gk_species_get_cfl(app, gk_s, fin[i], fout[i], bflux_out[i]); dtmin = fmin(dtmin, dt1); } diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c index d238da4c5a..21395c014a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c index 8b28a452a8..39e7d6f8f4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index 92e198ca2b..b42929a7c1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 88ca99e273..6ffcb3b181 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index 9bd473b754..54f701c4de 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 0b8ed9317d..1fb10c7e31 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index 498a277666..07e496557a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c similarity index 95% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c index 90a6185dbe..c523120459 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c similarity index 97% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c index abb643af57..5b1a91cf59 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c index d481398725..543122e6e1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index 74dab01d37..21cd3f2031 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c index 3fcfb15e9a..457ae57c6e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c index b53afc39d6..0fe90bc65a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c index cfa071a002..7a83ba0f4b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c similarity index 95% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c index 86bf858c8b..3d0b9f5171 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c similarity index 96% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c index 9178775b0d..38f15344ea 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c index 78f56ea7d7..34004a4621 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c index 82f5835ad3..e78f7c7f70 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c index 828c96be5f..035985c9ac 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c index a1d2929177..2c43901ca5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c index 22ca3cba66..563eb0d645 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c similarity index 95% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c index fde3592231..0d6428a5b3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c similarity index 96% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c index cae67f7f34..1d4dd33bbf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c index 2a7d13cc5b..f1e0ed2e6f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c index 061695ebcb..a08bcb0502 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c index d145fcb87e..c789feeaab 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c index 20b2a9a8c2..312892cec8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c index f708659280..0fe30219a5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c index 92c1484678..922a2d2a11 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c index 236d9d116b..84adee49a6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c index 8a8c643afc..3e5463c316 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c index d780f7c162..a6fd2411df 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c index 3897256920..594123ddf8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index ed70213a63..16d1b0bd97 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index a8379b1fee..982a3c1806 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index fd55d64a51..a8a7840a32 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 012b22e263..bda9e10f3c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 34e8b51d8b..221bf629fb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 43866b33a1..9def8c690a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_ // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 5398b50f5a..20ad12619b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_ // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 8a9f94a5f3..40266505b0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_ // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 5441d7d138..bb62460cf2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_ // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 3c063d47f0..a9227a6401 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_ // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c similarity index 66% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c index cc5236dc31..9960f87ece 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -17,7 +17,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. - // apar: parallel component of vector potential (here it will be apardot). + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -27,94 +28,163 @@ GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( double rdz2 = 2.0/dxv[1]; double rdvpar2 = 2.0/dxv[2]; + double hamil[24] = {0.}; + hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; + hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - - - - alpha_quad = -q_/m_*(0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c similarity index 77% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c index 57d3645f56..f17e7210c7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -17,7 +17,8 @@ GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( // gkdgv: gyrokinetic volume DG geometry. // bmag: magnetic field amplitude. // phi: electrostatic potential. - // apar: parallel component of vector potential (here it will be apardot). + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). @@ -28,174 +29,295 @@ GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( double rdz2 = 2.0/dxv[2]; double rdvpar2 = 2.0/dxv[3]; + double hamil[48] = {0.}; + hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_; + hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[4] = 2.0*vmapSq[1]*m_; + hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[6] = 2.0*phi[4]*q_; + hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; + hamil[8] = 2.0*phi[6]*q_; + hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 2.0*phi[7]*q_; + hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; + hamil[32] = 2.0*vmapSq[2]*m_; double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - - - - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[4].bmag; + B3_quad = gkdgv[4].B3; + Jc_quad = dgv[4].Jc; + dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[4].g_13; + g_23 = gkdgv[4].g_23; + g_33 = gkdgv[4].g_33; + mag_e_3 = gkdgv[4].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[8] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[9] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[5].bmag; + B3_quad = gkdgv[5].B3; + Jc_quad = dgv[5].Jc; + dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[5].g_13; + g_23 = gkdgv[5].g_23; + g_33 = gkdgv[5].g_33; + mag_e_3 = gkdgv[5].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[10] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[11] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[6].bmag; + B3_quad = gkdgv[6].B3; + Jc_quad = dgv[6].Jc; + dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[6].g_13; + g_23 = gkdgv[6].g_23; + g_33 = gkdgv[6].g_33; + mag_e_3 = gkdgv[6].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[12] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[13] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[7].bmag; + B3_quad = gkdgv[7].B3; + Jc_quad = dgv[7].Jc; + dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[7].g_13; + g_23 = gkdgv[7].g_23; + g_33 = gkdgv[7].g_33; + mag_e_3 = gkdgv[7].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[14] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -q_/m_*(0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[15] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c index 2a75acf281..37fe20dca7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c index 01f69a0ccf..4eafcb85af 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c index 3f3ae1c87f..25e5751268 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c index 5e9589a976..f7b24b2131 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c index f42556cfd1..61bfba4e75 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..78f68add35 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c @@ -0,0 +1,98 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..43bae49e46 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c @@ -0,0 +1,126 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..82c9d44359 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,217 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..644327770f --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,372 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..166f58b19f --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,217 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..70fa8792a5 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,374 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..dde338cae6 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,372 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..ba2f277224 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -0,0 +1,100 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double JRatfR[3] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..6c6e3762ce --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -0,0 +1,128 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double JRatfR[6] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.0; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..3e7ca37c52 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,231 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..aaa1f5f526 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,398 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..9742dac181 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,231 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..cd9733339a --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,400 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..7e945d1213 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,398 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..f605e8c5e5 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c @@ -0,0 +1,100 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double JRatfL[3] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..00ac69d1b9 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c @@ -0,0 +1,128 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double JRatfL[6] = {0.}; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.0; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..0d08c4712f --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c @@ -0,0 +1,231 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..91ce1d5dc3 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c @@ -0,0 +1,398 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..72d8bee3db --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c @@ -0,0 +1,231 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..19a1a165f5 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c @@ -0,0 +1,400 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..14e533ab79 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c @@ -0,0 +1,398 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..59f6d3cadc --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,193 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..0a0a8600a3 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,324 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..2cc04c4882 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,193 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..3b47a467d8 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,326 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..d7c0ae209c --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,324 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..0ddae0edea --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -0,0 +1,207 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..8aa9ab8802 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -0,0 +1,350 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; + hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; + hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..cebf6859ea --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -0,0 +1,207 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; + hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; + hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfR[12] = {0.}; + JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); + JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); + JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); + JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); + JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); + JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); + JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); + JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..b4b1e0d722 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -0,0 +1,352 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..f9f93ebcf3 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -0,0 +1,350 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); + hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; + hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; + hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfR[24] = {0.}; + JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); + JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); + JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); + JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); + JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); + JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); + JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); + JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); + JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); + JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); + JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); + JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); + JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); + JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); + JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); + JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); + JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); + JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); + JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); + JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); + JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); + JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); + JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); + JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..0be6a0fa4e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -0,0 +1,207 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..bbb398d1f5 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -0,0 +1,350 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..25dc5aa761 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -0,0 +1,207 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double JRatfL[12] = {0.}; + JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); + JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); + JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); + JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); + JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); + JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); + JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); + JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); + JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); + JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); + JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); + JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..2f56cf6794 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -0,0 +1,352 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..3f88a65d7c --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -0,0 +1,350 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double JRatfL[24] = {0.}; + JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); + JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); + JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); + JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); + JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); + JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); + JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); + JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); + JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); + JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); + JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); + JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); + JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); + JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); + JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); + JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); + JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); + JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); + JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); + JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); + JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); + JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); + JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); + JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c similarity index 96% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c index 4ff4b86d61..aa09067e70 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c index 6876e3ddff..7c16b44bc7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..4c11b54983 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c @@ -0,0 +1,193 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..37c9f0661e --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c @@ -0,0 +1,324 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..facf04d3db --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c @@ -0,0 +1,193 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..8392c9d227 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c @@ -0,0 +1,326 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = 0.0; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..735a25a7e4 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c @@ -0,0 +1,324 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c similarity index 88% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c index 1b99d93270..3f7f1533e1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c similarity index 93% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c index bac43c6b97..ca427e16b1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c similarity index 98% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c index 554172f189..4ae855d703 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index ff0fdbdcca..6357925048 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -1,11 +1,11 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c new file mode 100644 index 0000000000..49283bbf91 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c @@ -0,0 +1,98 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; + hamil[1] = 0.5*vmapSq[1]*m_; + hamil[2] = 0.5*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; + JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c new file mode 100644 index 0000000000..1aae86a624 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c @@ -0,0 +1,126 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = 0.7071067811865475*vmapSq[1]*m_; + hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; + JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c new file mode 100644 index 0000000000..92557904d8 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c @@ -0,0 +1,217 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c new file mode 100644 index 0000000000..d2112db809 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -0,0 +1,372 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; + hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[0]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdx2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c new file mode 100644 index 0000000000..5e84833bd1 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c @@ -0,0 +1,217 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); + hamil[2] = vmapSq[1]*m_; + hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; + hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[12]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; + JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); + JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c new file mode 100644 index 0000000000..9b5f6282d9 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c @@ -0,0 +1,374 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; + hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = bmag[0]*vmap[3]; + hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; + hamil[8] = bmag[1]*vmap[3]; + hamil[9] = bmag[3]*vmap[3]; + hamil[12] = vmap[3]*bmag[5]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdy2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c new file mode 100644 index 0000000000..80deed09d6 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c @@ -0,0 +1,372 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgs: surface DG geometry. + // gkdgs: gyrokinetic surface DG geometry. + // bmag: bmag represented on the surface. + // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. + // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); + hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; + hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; + hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[48]; + double cfl = 0.0; + double bmag_quad = 0.0; + double Jc_quad = 0.0; + double B3_quad = 0.0; + double normcurlbhat_quad = 0.0; + double area_elem_quad = 0.0; + double bhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double mvpar_quad[3] = {0.0}; + mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double mvparsq_quad[3] = {0.0}; + mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; + mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; + mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + + bmag_quad = gkdgs[0].bmag; + Jc_quad = gkdgs[0].Jc; + B3_quad = gkdgs[0].B3; + normcurlbhat_quad = gkdgs[0].normcurlbhat; + bhat_quad[0] = gkdgs[0].bhat.x[0]; + bhat_quad[1] = gkdgs[0].bhat.x[1]; + bhat_quad[2] = gkdgs[0].bhat.x[2]; + area_elem_quad = dgs[0].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[1].bmag; + Jc_quad = gkdgs[1].Jc; + B3_quad = gkdgs[1].B3; + normcurlbhat_quad = gkdgs[1].normcurlbhat; + bhat_quad[0] = gkdgs[1].bhat.x[0]; + bhat_quad[1] = gkdgs[1].bhat.x[1]; + bhat_quad[2] = gkdgs[1].bhat.x[2]; + area_elem_quad = dgs[1].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; + JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[2].bmag; + Jc_quad = gkdgs[2].Jc; + B3_quad = gkdgs[2].B3; + normcurlbhat_quad = gkdgs[2].normcurlbhat; + bhat_quad[0] = gkdgs[2].bhat.x[0]; + bhat_quad[1] = gkdgs[2].bhat.x[1]; + bhat_quad[2] = gkdgs[2].bhat.x[2]; + area_elem_quad = dgs[2].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + bmag_quad = gkdgs[3].bmag; + Jc_quad = gkdgs[3].Jc; + B3_quad = gkdgs[3].B3; + normcurlbhat_quad = gkdgs[3].normcurlbhat; + bhat_quad[0] = gkdgs[3].bhat.x[0]; + bhat_quad[1] = gkdgs[3].bhat.x[1]; + bhat_quad[2] = gkdgs[3].bhat.x[2]; + area_elem_quad = dgs[3].area_elem; + + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; + alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)); + JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); + JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); + Jfavg_quad = (JfL_quad + JfR_quad)/2.0; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0; + flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; + + + return cfl*1.5*rdz2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c new file mode 100644 index 0000000000..2989bfd7d0 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c @@ -0,0 +1,105 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[6] = {0.}; + hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; + hamil[1] = 1.4142135623730951*phi[1]*q_; + hamil[2] = 0.7071067811865475*vmapSq[1]*m_; + hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[3]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(1.1180339887498951*JfR[5])+1.118033988749895*JfR[4]+0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]-0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; + JfR_quad = (1.1180339887498951*JfR[5]+1.118033988749895*JfR[4]-0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]+0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c new file mode 100644 index 0000000000..d248598c35 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c @@ -0,0 +1,129 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdvpar2 = 2.0/dxv[1]; + + double hamil[12] = {0.}; + hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = vmapSq[1]*m_; + hamil[3] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[8] = vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[6]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.7905694150420947*JfR[11]-0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.7905694150420947*JfR[11])+0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.7905694150420947*JfR[11])-0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.7905694150420947*JfR[11]+0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c new file mode 100644 index 0000000000..626389a2ec --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c @@ -0,0 +1,226 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdz2 = 2.0/dxv[1]; + double rdvpar2 = 2.0/dxv[2]; + + double hamil[24] = {0.}; + hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; + hamil[3] = 1.4142135623730951*vmapSq[1]*m_; + hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; + hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[24]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c new file mode 100644 index 0000000000..638edf4c49 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -0,0 +1,423 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) +{ + // w[NDIM]: cell-center. + // dxv[NDIM]: cell length. + // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. + // vmap: velocity space mapping. + // vmapSq: velocity space mapping squared. + // q_,m_: species charge and mass. + // dgv: volume DG geometry. + // gkdgv: gyrokinetic volume DG geometry. + // bmag: magnetic field amplitude. + // phi: electrostatic potential. + // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. + // JfL: distribution times total jacobian in left cell. + // JfR: distribution times total jacobian in right cell. + // flux_surf: output surface phase space flux in each direction (cdim + 1 components). + // Note: Each cell owns their *lower* edge surface evaluation. + + double rdx2 = 2.0/dxv[0]; + double rdy2 = 2.0/dxv[1]; + double rdz2 = 2.0/dxv[2]; + double rdvpar2 = 2.0/dxv[3]; + + double hamil[48] = {0.}; + hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; + hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; + hamil[2] = 2.0*phi[2]*q_; + hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; + hamil[4] = 2.0*vmapSq[1]*m_; + hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; + hamil[6] = 2.0*phi[4]*q_; + hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; + hamil[8] = 2.0*phi[6]*q_; + hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; + hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; + hamil[16] = 2.0*phi[7]*q_; + hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; + hamil[32] = 2.0*vmapSq[2]*m_; + + double *flux_surf_nodal = &flux_surf[72]; + double cfl = 0.0; + double bmag_quad = 0.0; + double B3_quad = 0.0; + double Jc_quad = 0.0; + double dualcurlbhat_quad[3] = {0.0}; + double alpha_quad = 0.0; + double JfL_quad = 0.0; + double JfR_quad = 0.0; + double Jfavg_quad = 0.0; + double Jfjump_quad = 0.0; + double m_bmag_inv = 0.0; + double mvpar_over_q = 0.0; + double g_13 = 0.0; + double g_23 = 0.0; + double g_33 = 0.0; + double mag_e_3 = 0.0; + + bmag_quad = gkdgv[0].bmag; + B3_quad = gkdgv[0].B3; + Jc_quad = dgv[0].Jc; + dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[0].g_13; + g_23 = gkdgv[0].g_23; + g_33 = gkdgv[0].g_33; + mag_e_3 = gkdgv[0].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[1].bmag; + B3_quad = gkdgv[1].B3; + Jc_quad = dgv[1].Jc; + dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[1].g_13; + g_23 = gkdgv[1].g_23; + g_33 = gkdgv[1].g_33; + mag_e_3 = gkdgv[1].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[2].bmag; + B3_quad = gkdgv[2].B3; + Jc_quad = dgv[2].Jc; + dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[2].g_13; + g_23 = gkdgv[2].g_23; + g_33 = gkdgv[2].g_33; + mag_e_3 = gkdgv[2].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[3].bmag; + B3_quad = gkdgv[3].B3; + Jc_quad = dgv[3].Jc; + dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[3].g_13; + g_23 = gkdgv[3].g_23; + g_33 = gkdgv[3].g_33; + mag_e_3 = gkdgv[3].mag_e_3; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[4].bmag; + B3_quad = gkdgv[4].B3; + Jc_quad = dgv[4].Jc; + dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[4].g_13; + g_23 = gkdgv[4].g_23; + g_33 = gkdgv[4].g_33; + mag_e_3 = gkdgv[4].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[5].bmag; + B3_quad = gkdgv[5].B3; + Jc_quad = dgv[5].Jc; + dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[5].g_13; + g_23 = gkdgv[5].g_23; + g_33 = gkdgv[5].g_33; + mag_e_3 = gkdgv[5].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[6].bmag; + B3_quad = gkdgv[6].B3; + Jc_quad = dgv[6].Jc; + dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[6].g_13; + g_23 = gkdgv[6].g_23; + g_33 = gkdgv[6].g_33; + mag_e_3 = gkdgv[6].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + bmag_quad = gkdgv[7].bmag; + B3_quad = gkdgv[7].B3; + Jc_quad = dgv[7].Jc; + dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; + dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; + dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + m_bmag_inv = 1.0/(m_*bmag_quad); + g_13 = gkdgv[7].g_13; + g_23 = gkdgv[7].g_23; + g_33 = gkdgv[7].g_33; + mag_e_3 = gkdgv[7].mag_e_3; + + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); + + cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; + JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; + JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; + Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; + Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; + flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; + + + double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); + + return cfl/vmap_prime_min*2.5*rdvpar2; + +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c similarity index 95% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x1v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c index 9529bc93d9..850f927129 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c similarity index 97% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c index 5a925e02bf..ea0b519c46 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c index cf64cd51ba..dbf9971dc9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index fd7dc2c76a..b1570cade8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_2x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c index b93ef24d68..f23c376835 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c index 19536db253..11bfc03e8e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c similarity index 99% rename from gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfz_3x2v_ser_p1.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c index d3b9aa1639..d95b14e1e5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c @@ -1,10 +1,10 @@ #include -GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index 9839938bde..b5fadd95ca 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index 59741c6716..ec1c2e82f7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index 4d2caaa586..ecd3ba844a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index 654ae35df3..da7d97aeb6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index d6718fe837..3b707055bf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index 5d062b6954..5ca2d688a4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index e0bf10f4f3..9ae1961330 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 3e0e9a58ee..048bd3237b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index 57462146c1..5f4580602c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index 6cf635577b..c1cc0f5020 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index 1abad940db..5c61b1f8a9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index f850648838..b7c585f799 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index 13cc478df5..e8bf6132d6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index 988d136907..da17447f50 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c index 6184d536a3..221b5d1423 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c index a2da499294..443f043456 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c index 4ca93d910c..82e53feddc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c index 43d4ce97f4..369c86f08b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c index 403e5afe85..fcaca72bb8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 55a1af88c1..f994230a51 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index a71b45ec40..cbc6b5b929 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index a9079ef2ed..e45ee49e08 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 6646198205..4d7217100b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 6284a429d7..80d5ed0ce3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 944529819a..63e9a1f60e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c index b45acf2030..0c955575e9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 1be9740d4c..ea60efd4fd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c index b2df2b4cc8..7381fcb251 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 9ccf675e30..cefe23f089 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index 66d2f9ee5c..e9cd2a02a3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -1,11 +1,11 @@ #include GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 6213e03896..80f1415fb5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -1,11 +1,11 @@ #include GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c index c6fa855f0b..6a5dd6206d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c index 8e0df1984a..b9284c26fd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c index a602b33749..355ac1a61b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c index 8907a70957..e82df8b127 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c index a7d42b1e38..c32a86f42e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c index 95196d3239..abf19ca158 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { return 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index c89bcda5a4..d7d9e3ffbc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -1,11 +1,11 @@ #include GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index 923cd51270..2605f00d88 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -1,11 +1,11 @@ #include GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 4d2b3e7f85..40b8d09f56 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -1,11 +1,11 @@ #include GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index 140ef97c8f..515d1b1f98 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -1,11 +1,11 @@ #include GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. // dxv[NDIM]: cell length. @@ -18,6 +18,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( // bmag: magnetic field amplitude. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c index 8351564ace..21823e2e6d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c index afb03ca1e1..eb9c4c7812 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index 46e83b07d7..dba5b7cb2d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 1e92b3a798..00d228fa69 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index c176ec2db1..528b7070de 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index 5c178c9917..359e2550e7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index 9a58c63c81..192ec8bdf9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -4,7 +4,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) { // w[NDIM]: cell-center. @@ -19,6 +19,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. // phi: electrostatic potential. // apar: parallel component of vector potential. + // apardot: time derivative of parallel component of vector potential. // JfL: distribution times total jacobian in left cell. // JfR: distribution times total jacobian in right cell. // flux_surf: output surface phase space flux in each direction (cdim + 1 components). diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c deleted file mode 100644 index 12e52528d6..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1.c +++ /dev/null @@ -1,65 +0,0 @@ -#include -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential (here it will be apardot). - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - - double *flux_surf_nodal = &flux_surf[3]; - double cfl = 0.0; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - - - - alpha_quad = -q_/m_*(0.7071067811865475*apar[0]-0.7071067811865475*apar[1]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(1.1180339887498951*JfR[5])+1.118033988749895*JfR[4]+0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]-0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(0.7071067811865475*apar[1]+0.7071067811865475*apar[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; - JfR_quad = (1.1180339887498951*JfR[5]+1.118033988749895*JfR[4]-0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]+0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c deleted file mode 100644 index e9c19092a9..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1.c +++ /dev/null @@ -1,83 +0,0 @@ -#include -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential (here it will be apardot). - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - - double *flux_surf_nodal = &flux_surf[6]; - double cfl = 0.0; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - - - - alpha_quad = -q_/m_*(0.7071067811865475*apar[0]-0.7071067811865475*apar[1]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.7905694150420947*JfR[11]-0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -q_/m_*(0.7071067811865475*apar[0]-0.7071067811865475*apar[1]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.7905694150420947*JfR[11])+0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - - alpha_quad = -q_/m_*(0.7071067811865475*apar[1]+0.7071067811865475*apar[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.7905694150420947*JfR[11])-0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -q_/m_*(0.7071067811865475*apar[1]+0.7071067811865475*apar[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.7905694150420947*JfR[11]+0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] += alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index bf3aa0d71e..c908ee160b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -8,1224 +8,1155 @@ EXTERN_C_BEG GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p2( + +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p2( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p2( +GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1( +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apardot, const double *JfL, const double *JfR, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( @@ -1233,7 +1164,7 @@ GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); EXTERN_C_END diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 649ce45418..3fef766c90 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -47,14 +47,14 @@ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_dg_gyrokinetic_cu_dev_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, collless_type, no_by, only_apardot, gk_geom, vel_map); + charge, mass, skip_cell_threshold, collless_type, no_by, em_star, gk_geom, vel_map); #endif struct dg_gyrokinetic *gyrokinetic = gkyl_malloc(sizeof(struct dg_gyrokinetic)); @@ -78,9 +78,9 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis gyrokinetic->eqn.boundary_surf_term = boundary_surf; gyrokinetic->eqn.boundary_diag_term = boundary_diag; - const gkyl_dg_gyrokinetic_vol_kern_list *vol_kernels, *vol_no_by_kernels; + const gkyl_dg_gyrokinetic_vol_es_kern_list *vol_kernels, *vol_no_by_kernels; const gkyl_dg_gyrokinetic_vol_add_apar_kern_list *vol_add_apar_kernels; - const gkyl_dg_gyrokinetic_vol_kern_list *vol_add_apardot_kernels; + const gkyl_dg_gyrokinetic_vol_add_apardot_kern_list *vol_add_apardot_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_x_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_y_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_z_kernels; @@ -92,7 +92,7 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis switch (cbasis->b_type) { case GKYL_BASIS_MODAL_SERENDIPITY: - vol_kernels = ser_vol_kernels; + vol_kernels = ser_vol_es_kernels; vol_add_apar_kernels = ser_add_apar_vol_kernels; vol_add_apardot_kernels = ser_add_apardot_vol_kernels; surf_x_kernels = ser_surf_x_kernels; @@ -104,7 +104,7 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis boundary_surf_z_kernels = ser_boundary_surf_z_kernels; boundary_surf_vpar_kernels = ser_boundary_surf_vpar_kernels; - vol_no_by_kernels = ser_no_by_vol_kernels; + vol_no_by_kernels = ser_no_by_vol_es_kernels; break; default: @@ -112,19 +112,25 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis break; } + gyrokinetic->eqn.vol_term = kernel_dg_gyrokinetic_vol; + if (no_by) { - gyrokinetic->eqn.vol_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); } else { - if (only_apardot) - gyrokinetic->eqn.vol_term = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); - else - gyrokinetic->eqn.vol_term = CK(vol_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_term = CK(vol_kernels,cdim,vdim,poly_order); } - gyrokinetic->vol_add_apar_term = - (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP) ? - CK(vol_add_apar_kernels,cdim,vdim,poly_order) : dg_gyrokinetic_vol_return_zero; + // Setup electromagnetic terms if needed. + bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); + gyrokinetic->vol_add_apar_term = dg_gyrokinetic_add_apar_vol_return_zero; + gyrokinetic->vol_add_apardot_term = dg_gyrokinetic_add_apardot_vol_return_zero; + if (is_em) { + gyrokinetic->vol_add_apar_term = CK(vol_add_apar_kernels,cdim,vdim,poly_order); + // Apardot is removed if we want to compute RHS star (ES + Apardot). + if (em_star) + gyrokinetic->vol_add_apardot_term = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + } gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); if (cdim>1) diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 9185081a60..4b2122f6dc 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -83,20 +83,26 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas assert(false); break; } + + gyrokinetic->eqn.vol_term = kernel_dg_gyrokinetic_vol; if (no_by) { - gyrokinetic->eqn.vol_term = vol_no_by_kernels[cv_index].kernels[poly_order]; + gyrokinetic->vol_es_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); } else { - if (only_apardot) - gyrokinetic->eqn.vol_term = vol_add_apardot_kernels[cv_index].kernels[poly_order]; - else - gyrokinetic->eqn.vol_term = vol_kernels[cv_index].kernels[poly_order]; + gyrokinetic->vol_es_term = CK(vol_kernels,cdim,vdim,poly_order); } - gyrokinetic->vol_add_apar_term = - ((collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? - vol_add_apar_kernels[cv_index].kernels[poly_order] : dg_gyrokinetic_vol_return_zero; + // Setup electromagnetic terms if needed. + bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); + gyrokinetic->vol_add_apar_term = dg_gyrokinetic_add_apar_vol_return_zero; + gyrokinetic->vol_add_apardot_term = dg_gyrokinetic_add_apardot_vol_return_zero; + if (is_em) { + gyrokinetic->vol_add_apar_term = CK(vol_add_apar_kernels,cdim,vdim,poly_order); + // Apardot is removed if we want to compute RHS star (ES + Apardot). + if (em_star) + gyrokinetic->vol_add_apardot_term = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + } gyrokinetic->surf[0] = surf_x_kernels[cv_index].kernels[poly_order]; if (cdim>1) @@ -118,7 +124,7 @@ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, enum gkyl_gk_collisionless_type collless_type, - const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) + const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) { struct dg_gyrokinetic *gyrokinetic = (struct dg_gyrokinetic*) gkyl_malloc(sizeof(*gyrokinetic)); diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index 80e204c622..9f17b2d46d 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -22,7 +22,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu) { struct gkyl_dg_updater_gyrokinetic *up = gkyl_malloc(sizeof(struct gkyl_dg_updater_gyrokinetic)); @@ -30,7 +30,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, up->use_gpu = use_gpu; up->eqn_gyrokinetic = gkyl_dg_gyrokinetic_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, skip_cell_threshold, collless_type, no_by, only_apardot, gk_geom, vel_map, up->use_gpu); + charge, mass, skip_cell_threshold, collless_type, no_by, em_star, gk_geom, vel_map, up->use_gpu); struct gkyl_dg_gyrokinetic_auxfields *gk_inp = aux_inp; gkyl_gyrokinetic_set_auxfields(up->eqn_gyrokinetic, *gk_inp); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index e9af9a8813..22d5cd2e27 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -13,14 +13,14 @@ gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type type, - const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, + const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu) { #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_gk_collisionless_flux_cu_dev_new(phase_grid, conf_basis, phase_basis, - charge, mass, type, no_by, only_apardot, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); + charge, mass, type, no_by, only_apardot, em_star, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); #endif gkyl_gk_collisionless_flux *up = gkyl_malloc(sizeof(gkyl_gk_collisionless_flux)); @@ -35,44 +35,34 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->charge = charge; up->mass = mass; - up->only_apardot = only_apardot; up->gk_geom = gkyl_gk_geometry_acquire(gk_geom); up->dg_geom = gkyl_dg_geom_acquire(dg_geom); up->gk_dg_geom = gkyl_gk_dg_geom_acquire(gk_dg_geom); up->vel_map = gkyl_velocity_map_acquire(vel_map); // Choose appropriate kernels. - if (only_apardot){ - // If we only add Apardot terms to the flux, the only non zero kernel is the vpar one. + int em = ((type == GKYL_GK_COLLISIONLESS_EM) || (type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? 1 : 0; + em = em_star ? 2 : em; // If em_star is true, use EM kernels without Apardot contribution. + if (no_by) { for (int d=0; dflux_surf[d] = gk_collisionless_flux_surf_return_zero; - up->flux_surf_edge_lo[d] = gk_collisionless_flux_surf_return_zero; - up->flux_surf_edge_up[d] = gk_collisionless_flux_surf_return_zero; + // BC option in ->flux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); - } else { - int em = ((type == GKYL_GK_COLLISIONLESS_EM) || (type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? 1 : 0; - if (no_by) { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); - } else { // The Apar term is included in the kernels. If we are ES, Apar=0. - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); + } else { // The Apar term is included in the kernels. If we are ES, Apar=0. + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); } up->flags = 0; @@ -85,13 +75,13 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, - const struct gkyl_array *phi, const struct gkyl_array *apar, + const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *apardot, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) { #ifdef GKYL_HAVE_CUDA if (gkyl_array_is_cu_dev(flux_surf)) { return gkyl_gk_collisionless_flux_surf_cu(up, conf_range, phase_range, - conf_ext_range, phase_ext_range, phi, apar, fin, flux_surf, cflrate); + conf_ext_range, phase_ext_range, phi, apar, apardot, fin, flux_surf, cflrate); } #endif int pdim = up->pdim; @@ -123,6 +113,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const double *bmag_d = gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = gkyl_array_cfetch(phi, loc_conf); const double *apar_d = gkyl_array_cfetch(apar, loc_conf); + const double *apardot_d = gkyl_array_cfetch(apardot, loc_conf); const double *vmap_d = gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -146,11 +137,11 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, if (idx[dir] == phase_range->lower[dir]) { // Lower domain/block boundary. cflrate_d[0] += up->flux_surf_edge_lo[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_d); } else { // Interior, lower cell surface. cflrate_d[0] += up->flux_surf[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_d); } // Upper domain/block boundary. @@ -177,7 +168,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, double* flux_surf_ext_d = gkyl_array_fetch(flux_surf, loc_phase_ext); cflrate_ext_d[0] += up->flux_surf_edge_up[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_ext_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_ext_d); } } } @@ -197,6 +188,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const double *bmag_d = gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = gkyl_array_cfetch(phi, loc_conf); const double *apar_d = gkyl_array_cfetch(apar, loc_conf); + const double *apardot_d = gkyl_array_cfetch(apardot, loc_conf); const double *vmap_d = gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -219,7 +211,7 @@ void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const struct gkyl_dg_vol_geom *dgv = gkyl_dg_geom_get_vol(up->dg_geom, idx); const struct gkyl_gk_dg_vol_geom *gkdgv = gkyl_gk_dg_geom_get_vol(up->gk_dg_geom, idx); cflrate_d[0] += up->flux_surfvpar[0](xc, up->phase_grid.dx, vpL, vpR, vmap_d, vmapSq_d, up->charge, up->mass, - dgv, gkdgv, bmag_d, phi_d, apar_d, fL, fR, flux_surf_d); + dgv, gkdgv, bmag_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_d); } } diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index 4af0b95b54..1b13d8c2f0 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -18,7 +18,8 @@ __global__ void gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux *up, struct gkyl_range conf_range, struct gkyl_range phase_range, struct gkyl_range conf_ext_range, struct gkyl_range phase_ext_range, const struct gkyl_array *phi, - const struct gkyl_array *apar, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) + const struct gkyl_array *apar, const struct gkyl_array *apardot, + const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) { int pdim = up->pdim; int cdim = up->cdim; @@ -48,6 +49,7 @@ gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux const double *bmag_d = (const double*) gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = (const double*) gkyl_array_cfetch(phi, loc_conf); const double *apar_d = (const double*) gkyl_array_cfetch(apar, loc_conf); + const double *apardot_d = (const double*) gkyl_array_cfetch(apardot, loc_conf); const double *vmap_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -71,11 +73,11 @@ gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux if (idx[dir] == phase_range.lower[dir]) { // Lower domain/block boundary. cflrate_d[0] += up->flux_surf_edge_lo[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_d); } else { // Interior, lower cell surface. cflrate_d[0] += up->flux_surf[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_d); } // If the phase space index is at the local configuration space upper value, we @@ -101,7 +103,7 @@ gkyl_gk_collisionless_flux_surf_conf_cu_kernel(struct gkyl_gk_collisionless_flux double* flux_surf_ext_d = (double*) gkyl_array_fetch(flux_surf, loc_phase_ext); cflrate_ext_d[0] = up->flux_surf_edge_up[dir](xc, up->phase_grid.dx, vmap_d, vmapSq_d, up->charge, up->mass, - dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, fL, fR, flux_surf_ext_d); + dgs, gkdgs, bmag_d, jacgeo_rat_surfL_d, jacgeo_rat_surfR_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_ext_d); } } } @@ -111,8 +113,8 @@ __global__ void gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_flux *up, struct gkyl_range conf_range, struct gkyl_range phase_range, struct gkyl_range conf_ext_range, struct gkyl_range phase_ext_range, struct gkyl_range vpar_range, - const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *fin, - struct gkyl_array* flux_surf, struct gkyl_array *cflrate) + const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *apardot, + const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate) { int pdim = up->pdim; int cdim = up->cdim; @@ -143,6 +145,7 @@ gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_ const double *bmag_d = (const double*) gkyl_array_cfetch(up->gk_geom->geo_corn.bmag, loc_conf); const double *phi_d = (const double*) gkyl_array_cfetch(phi, loc_conf); const double *apar_d = (const double*) gkyl_array_cfetch(apar, loc_conf); + const double *apardot_d = (const double*) gkyl_array_cfetch(apardot, loc_conf); const double *vmap_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap, loc_vel); const double *vmapSq_d = (const double*) gkyl_array_cfetch(up->vel_map->vmap_sq, loc_vel); @@ -168,7 +171,7 @@ gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_ cflrate_d[0] += up->flux_surfvpar[0](xc, up->phase_grid.dx, vpL, vpR, vmap_d, vmapSq_d, up->charge, up->mass, - dgv, gkdgv, bmag_d, phi_d, apar_d, fL, fR, flux_surf_d); + dgv, gkdgv, bmag_d, phi_d, apar_d, apardot_d, fL, fR, flux_surf_d); } } @@ -176,10 +179,10 @@ gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel(struct gkyl_gk_collisionless_ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, const struct gkyl_array *phi, - const struct gkyl_array *apar, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate) + const struct gkyl_array *apar, const struct gkyl_array *apardot, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate) { gkyl_gk_collisionless_flux_surf_conf_cu_kernel<<volume, GKYL_DEFAULT_NUM_THREADS>>>(up->on_dev, - *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, phi->on_dev, apar->on_dev, fin->on_dev, + *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, phi->on_dev, apar->on_dev, apardot->on_dev, fin->on_dev, flux_surf->on_dev, cflrate->on_dev); struct gkyl_range vpar_range; @@ -192,7 +195,7 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, sublower[up->cdim] += 1; gkyl_sub_range_init(&vpar_range, phase_ext_range, sublower, subupper); gkyl_gk_collisionless_flux_surf_surfvpar_cu_kernel<<>>(up->on_dev, - *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, vpar_range, phi->on_dev, apar->on_dev, fin->on_dev, + *conf_range, *phase_range, *conf_ext_range, *phase_ext_range, vpar_range, phi->on_dev, apar->on_dev, apardot->on_dev, fin->on_dev, flux_surf->on_dev, cflrate->on_dev); } diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 62687abb43..dd93dd2039 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -12,15 +12,21 @@ #include // Types for various kernels. + +typedef double (*dg_gyrokinetic_vol_es_t)(const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double* bioverJB, + const double *fin, double* GKYL_RESTRICT out); + typedef double (*dg_gyrokinetic_vol_add_apar_t)(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); -typedef double (*dg_gyrokinetic_vol_add_apardot_t)(const double *w, const double *dxv, - const double *vmap, const double *vmapSq,const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, - const double *apardot, const double *fin, double* GKYL_RESTRICT out); +typedef double (*dg_gyrokinetic_vol_add_apardot_t)(const double *vmap, + const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out); typedef double (*dg_gyrokinetic_surf_t)( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_c, const double *vmap_prime_r, @@ -43,7 +49,9 @@ static struct { int vdim[3]; } cv_index[] = { // for use in kernel tables typedef struct { vol_termf_t kernels[3]; } gkyl_dg_gyrokinetic_vol_kern_list; +typedef struct { dg_gyrokinetic_vol_es_t kernels[3]; } gkyl_dg_gyrokinetic_vol_es_kern_list; typedef struct { dg_gyrokinetic_vol_add_apar_t kernels[3]; } gkyl_dg_gyrokinetic_vol_add_apar_kern_list; +typedef struct { dg_gyrokinetic_vol_add_apardot_t kernels[3]; } gkyl_dg_gyrokinetic_vol_add_apardot_kern_list; typedef struct { dg_gyrokinetic_surf_t kernels[3]; } gkyl_dg_gyrokinetic_surf_kern_list; typedef struct { dg_gyrokinetic_boundary_surf_t kernels[3]; } gkyl_dg_gyrokinetic_boundary_surf_kern_list; @@ -51,7 +59,9 @@ struct dg_gyrokinetic { struct gkyl_dg_eqn eqn; // Base object. int cdim; // Config-space dimensions. int pdim; // Phase-space dimensions. + dg_gyrokinetic_vol_es_t vol_es_term; // Electrostatic contribution to volume term. dg_gyrokinetic_vol_add_apar_t vol_add_apar_term; // Additional volume term for Apar contribution. + dg_gyrokinetic_vol_add_apardot_t vol_add_apardot_term; // Additional volume term for Apar contribution. dg_gyrokinetic_surf_t surf[4]; // Surface terms. dg_gyrokinetic_boundary_surf_t boundary_surf[4]; // Surface terms for velocity boundary. struct gkyl_range conf_range; // Configuration space range. @@ -70,7 +80,7 @@ struct dg_gyrokinetic { GKYL_CU_DH static double -kernel_dg_gyrokinetic_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, +kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) { @@ -87,7 +97,7 @@ kernel_dg_gyrokinetic_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); double cfl = 0.0; - cfl = dg_gyrokinetic_vol_1x1v_ser_p1(xc, dx, + cfl = gyrokinetic->vol_es_term(xc, dx, (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, @@ -107,365 +117,84 @@ kernel_dg_gyrokinetic_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const doubl (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), qIn, qRhsOut); - return cfl; -} - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - double cfl = 0.0; - cfl = dg_gyrokinetic_vol_1x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); - cfl += gyrokinetic->vol_add_apar_term(xc, dx, + cfl += gyrokinetic->vol_add_apardot_term( (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), + (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), qIn, qRhsOut); return cfl; } -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - double cfl = 0.0; - cfl = dg_gyrokinetic_vol_2x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); - cfl += gyrokinetic->vol_add_apar_term(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), - qIn, qRhsOut); - return cfl; +// To turn off EM effects: +GKYL_CU_DH +static double +dg_gyrokinetic_add_apar_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) +{ + return 0.; } -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); +GKYL_CU_DH +static double +dg_gyrokinetic_add_apardot_vol_return_zero(const double *vmap, const double q_, const double m_, + const double *apardot, const double *fin, double* GKYL_RESTRICT out) +{ + return 0.; +} - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - double cfl = 0.0; - cfl = dg_gyrokinetic_vol_3x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); - cfl += gyrokinetic->vol_add_apar_term(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), - qIn, qRhsOut); - return cfl; -} - -// Volume kernel list. +// Volume electrostatic kernel list. GKYL_CU_D -static const gkyl_dg_gyrokinetic_vol_kern_list ser_vol_kernels[] = { +static const gkyl_dg_gyrokinetic_vol_es_kern_list ser_vol_es_kernels[] = { // 1x kernels - { NULL, kernel_dg_gyrokinetic_vol_1x1v_ser_p1, NULL }, // 0 - { NULL, kernel_dg_gyrokinetic_vol_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_vol_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, kernel_dg_gyrokinetic_vol_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_vol_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, kernel_dg_gyrokinetic_vol_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_vol_3x2v_ser_p1, NULL }, // 3 }; // // Serendipity volume kernels general geometry, no toroidal field (by=0) // Need to be separated like this for GPU build // - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_no_by_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_no_by_vol_2x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); -} - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_no_by_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); - return dg_gyrokinetic_no_by_vol_3x2v_ser_p1(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); -} - -// Volume kernel list. GKYL_CU_D -static const gkyl_dg_gyrokinetic_vol_kern_list ser_no_by_vol_kernels[] = { +static const gkyl_dg_gyrokinetic_vol_es_kern_list ser_no_by_vol_es_kernels[] = { // 1x kernels - { NULL, kernel_dg_gyrokinetic_vol_1x1v_ser_p1, NULL }, // 0 - { NULL, kernel_dg_gyrokinetic_vol_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_vol_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, kernel_dg_gyrokinetic_no_by_vol_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_no_by_vol_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, kernel_dg_gyrokinetic_no_by_vol_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_no_by_vol_3x2v_ser_p1, NULL }, // 3 }; // Electromagnetic serendipity volume kernels general geometry. GKYL_CU_D static const gkyl_dg_gyrokinetic_vol_add_apar_kern_list ser_add_apar_vol_kernels[] = { // 1x kernels - { NULL, dg_gyrokinetic_add_apar_vol_1x1v_ser_p1, NULL }, // 0 - { NULL, dg_gyrokinetic_add_apar_vol_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_add_apar_vol_return_zero, NULL }, // 0 + { NULL, dg_gyrokinetic_add_apar_vol_return_zero, NULL }, // 1 // 2x kernels { NULL, dg_gyrokinetic_add_apar_vol_2x2v_ser_p1, NULL }, // 2 // 3x kernels { NULL, dg_gyrokinetic_add_apar_vol_3x2v_ser_p1, NULL }, // 3 }; -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - return dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1( - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), - qIn, qRhsOut); -} - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - return dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1( - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), - qIn, qRhsOut); -} - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - return dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1( - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), - qIn, qRhsOut); -} - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - return dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1( - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), - qIn, qRhsOut); -} - // Electromagnetic volume kernel list (apardot). GKYL_CU_D -static const gkyl_dg_gyrokinetic_vol_kern_list ser_add_apardot_vol_kernels[] = { +static const gkyl_dg_gyrokinetic_vol_add_apardot_kern_list ser_add_apardot_vol_kernels[] = { // 1x kernels - { NULL, kernel_dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1, NULL }, // 0 - { NULL, kernel_dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1, NULL }, // 1 + { NULL, dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1, NULL }, // 1 // 2x kernels - { NULL, kernel_dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1, NULL }, // 2 + { NULL, dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1, NULL }, // 2 // 3x kernels - { NULL, kernel_dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1, NULL }, // 3 + { NULL, dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1, NULL }, // 3 }; -// To turn off EM effects: -GKYL_CU_DH -static double -dg_gyrokinetic_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *jacobtot_inv, - const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) -{ - return 0.; -} - -GKYL_CU_DH -static double -kernel_dg_gyrokinetic_vol_return_zero(const struct gkyl_dg_eqn *eqn, const double* xc, const double* dx, - const int* idx, const double* qIn, double* GKYL_RESTRICT qRhsOut) -{ - struct dg_gyrokinetic *gyrokinetic = container_of(eqn, struct dg_gyrokinetic, eqn); - - if (fabs(qIn[0]) < gyrokinetic->skip_cell_thresh) { - return 0.; - } - - int vel_idx[2]; - for (int d=gyrokinetic->cdim; dpdim; d++) vel_idx[d-gyrokinetic->cdim] = idx[d]; - - long cidx = gkyl_range_idx(&gyrokinetic->conf_range, idx); - long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); - return dg_gyrokinetic_vol_return_zero(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); -} - // // Serendipity surface kernels general geometry // diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h index 619bfed7d5..3d664f73c4 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h @@ -31,7 +31,7 @@ struct gkyl_dg_updater_gyrokinetic_tm { * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param collless_type Type of collisionless terms. * @param no_by Whether to neglect the toroidal field (set b_y=0). - * @param only_apardot Whether we want to only add the apardot term. + * @param em_star Whether it computes (ES + [Apar]) or [ES + [Apar + Apardot]). * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param aux_inp Void pointer to auxiliary fields. Void to be flexible to different auxfields structs @@ -42,7 +42,7 @@ gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_r const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); /** @@ -71,19 +71,6 @@ void gkyl_dg_updater_gyrokinetic_advance(gkyl_dg_updater_gyrokinetic *gyrokineti const struct gkyl_range *update_rng, const struct gkyl_array* GKYL_RESTRICT fIn, struct gkyl_array* GKYL_RESTRICT cflrate, struct gkyl_array* GKYL_RESTRICT rhs); -/** - * Add Apardot electromagnetic contribution to the RHS. - * - * @param gyrokinetic - * @param update_rng - * @param fIn - * @param cflrate - * @param rhs - */ -void gkyl_dg_updater_gyrokinetic_add_apardot(gkyl_dg_updater_gyrokinetic *gyrokinetic, - const struct gkyl_range *update_rng, const struct gkyl_array* GKYL_RESTRICT fIn, - struct gkyl_array* GKYL_RESTRICT cflrate, struct gkyl_array* GKYL_RESTRICT rhs); - /** * Return total time spent in gyrokinetic equation * diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index efe8da3aaa..28e7cbda2e 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -24,7 +24,7 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; * @param mass Species mass * @param collless_type Type of collisionless terms. * @param no_by Whether to neglect the toroidal field (set b_y=0). - * @param only_apardot Whether to only add Apardot terms to the flux. + * @param em_star Whether to compute fstar for Ohm's law. * @param gk_geom Gyrokinetic geometry object. * @param gk_dg_geom DG geometry object. * @param vel_map Velocity space mapping object. @@ -36,7 +36,7 @@ struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, - const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, + const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); @@ -61,7 +61,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, void gkyl_gk_collisionless_flux_surf(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, - const struct gkyl_array *phi, const struct gkyl_array *apar, + const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *apardot, const struct gkyl_array *fin, struct gkyl_array* flux_surf, struct gkyl_array *cflrate); /** diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 9634cff95b..8cf9212fa7 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -14,14 +14,14 @@ typedef double (*gk_collisionless_flux_surf_t)(const double *w, const double *dx const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, const double *phi, - const double *apar, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); + const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); typedef double (*gk_collisionless_flux_surfvpar_t)( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, + const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); // The cv_index[cd].vdim[vd] is used to index the various list of @@ -53,7 +53,6 @@ struct gkyl_gk_collisionless_flux { double charge, mass; bool is_em; // Whether it is electromagnetic. - bool only_apardot; // Whether it is meant to only add Apardot terms. const struct gk_geometry *gk_geom; // Pointer to geometry struct. const struct gkyl_dg_geom *dg_geom; // Pointer to vol dg geometry struct. const struct gkyl_gk_dg_geom *gk_dg_geom; // Pointer to vol gk dg geometry struct. @@ -79,10 +78,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -100,10 +107,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -123,8 +138,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -144,8 +167,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -166,7 +197,15 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_surfz_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -187,7 +226,15 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -205,10 +252,18 @@ static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_surfvpar_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -229,10 +284,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -250,10 +313,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list= { - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list= { + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -273,8 +344,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -294,8 +373,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -316,7 +403,15 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -337,7 +432,15 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -359,10 +462,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -380,10 +491,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -403,8 +522,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -424,8 +551,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -446,8 +581,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1, NULL }, // 3 }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1, NULL }, // 3 + }, } }; @@ -467,7 +610,15 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -485,10 +636,18 @@ static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -509,10 +668,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -530,10 +697,18 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -553,8 +728,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -574,8 +757,16 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -596,7 +787,15 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -617,7 +816,15 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_em_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + }, + }, + { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -740,25 +947,6 @@ choose_gk_collisionless_flux_no_by_surf_vpar_kern(int em, int cdim, int vdim, in return ser_gk_collisionless_flux_no_by_surfvpar_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } - -// -// Electromagnetic serendipity surface kernels. -// Parallel electric field term. -GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_add_apardot_surfvpar_kernels[] = { - { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_em_collisionless_flux_add_apardot_surfvpar_3x2v_ser_p1, NULL }, // 3 -}; - -GKYL_CU_D -static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(int cdim, int vdim, int poly_order) -{ - return ser_gk_collisionless_flux_add_apardot_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; -} - #ifdef GKYL_HAVE_CUDA /** * Create new updater to compute gyrokinetic variables on From b5874bdaec4ebc55060d88b5b77cd36032138430 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 17 Feb 2026 11:48:03 -0500 Subject: [PATCH 102/181] I don't think we need fdot scaling in the rhs star --- gyrokinetic/apps/gk_species_collisionless.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 2cd5fba41c..3b98e06a94 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -67,6 +67,7 @@ gk_species_collisionless_rhs_star_enabled(gkyl_gyrokinetic_app *app, struct gk_s gkyl_dg_updater_gyrokinetic_advance(gkcls->slvr_em_star, &species->local, fin, species->cflrate, rhs); + // AH Note: I'm not sure we need this here. gkcls->fdot_scaling(app, species, gkcls, rhs, species->cflrate, &species->local); app->stat.species_collisionless_tm += gkyl_time_diff_now_sec(wst); From 183d7edb8326c8cb9a1d00fad8f9513e32e34617 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 17 Feb 2026 11:48:19 -0500 Subject: [PATCH 103/181] regroup the lines that are meant to compute Apardot --- gyrokinetic/apps/gyrokinetic.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 3b764403a7..09b07daca7 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1950,14 +1950,13 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_neut_species_recycle_react_scale_cross_moms(app, gk_ns, &gk_ns->rrs, fin, fin_neut); } - // Compute df/dt^* for Ohm's law. + // Compute Apardot (solves Ohm's law using the previously built df/dt^*). + // Compute df/dt^* (ES + Apar) for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; gk_species_rhs_star(app, gk_s, fin[i], fout[i], bflux_out[i]); gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); } - - // Compute Apardot (solves Ohm's law using the previously built df/dt^*). gk_field_em_rhs(app, app->field, fin, fout); // Update aparout. gk_field_em_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); From 8da594c3c5cdc7650bb11bb90d99d2b247d1a5e6 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 17 Feb 2026 11:49:33 -0500 Subject: [PATCH 104/181] Refactor dg volume pointer to function naming to differentiate between poiting to a kernel and the one pointing to a higher level routine. --- gyrokinetic/zero/dg_gyrokinetic.c | 14 ++--- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 12 ++--- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 57 ++++++++++----------- 3 files changed, 40 insertions(+), 43 deletions(-) diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 3fef766c90..08b3eaf1d5 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -115,21 +115,21 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis gyrokinetic->eqn.vol_term = kernel_dg_gyrokinetic_vol; if (no_by) { - gyrokinetic->vol_es_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_kernel = CK(vol_no_by_kernels,cdim,vdim,poly_order); } else { - gyrokinetic->vol_es_term = CK(vol_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_kernel = CK(vol_kernels,cdim,vdim,poly_order); } // Setup electromagnetic terms if needed. bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); - gyrokinetic->vol_add_apar_term = dg_gyrokinetic_add_apar_vol_return_zero; - gyrokinetic->vol_add_apardot_term = dg_gyrokinetic_add_apardot_vol_return_zero; + gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_return_zero; + gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_return_zero; if (is_em) { - gyrokinetic->vol_add_apar_term = CK(vol_add_apar_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_add_apar_kernel = CK(vol_add_apar_kernels,cdim,vdim,poly_order); // Apardot is removed if we want to compute RHS star (ES + Apardot). - if (em_star) - gyrokinetic->vol_add_apardot_term = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_add_apardot_kernel = em_star ? + dg_gyrokinetic_add_apardot_vol_return_zero : CK(vol_add_apardot_kernels,cdim,vdim,poly_order); } gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 4b2122f6dc..1df3ea9f0b 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -87,21 +87,21 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas gyrokinetic->eqn.vol_term = kernel_dg_gyrokinetic_vol; if (no_by) { - gyrokinetic->vol_es_term = CK(vol_no_by_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_kernel = CK(vol_no_by_kernels,cdim,vdim,poly_order); } else { - gyrokinetic->vol_es_term = CK(vol_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_kernel = CK(vol_kernels,cdim,vdim,poly_order); } // Setup electromagnetic terms if needed. bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); - gyrokinetic->vol_add_apar_term = dg_gyrokinetic_add_apar_vol_return_zero; - gyrokinetic->vol_add_apardot_term = dg_gyrokinetic_add_apardot_vol_return_zero; + gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_return_zero; + gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_return_zero; if (is_em) { - gyrokinetic->vol_add_apar_term = CK(vol_add_apar_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_add_apar_kernel = CK(vol_add_apar_kernels,cdim,vdim,poly_order); // Apardot is removed if we want to compute RHS star (ES + Apardot). if (em_star) - gyrokinetic->vol_add_apardot_term = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_add_apardot_kernel = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); } gyrokinetic->surf[0] = surf_x_kernels[cv_index].kernels[poly_order]; diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index dd93dd2039..4832cbb08a 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -59,9 +59,9 @@ struct dg_gyrokinetic { struct gkyl_dg_eqn eqn; // Base object. int cdim; // Config-space dimensions. int pdim; // Phase-space dimensions. - dg_gyrokinetic_vol_es_t vol_es_term; // Electrostatic contribution to volume term. - dg_gyrokinetic_vol_add_apar_t vol_add_apar_term; // Additional volume term for Apar contribution. - dg_gyrokinetic_vol_add_apardot_t vol_add_apardot_term; // Additional volume term for Apar contribution. + dg_gyrokinetic_vol_es_t vol_es_kernel; // Electrostatic contribution to volume term. + dg_gyrokinetic_vol_add_apar_t vol_add_apar_kernel; // Additional volume term for Apar contribution. + dg_gyrokinetic_vol_add_apardot_t vol_add_apardot_kernel; // Additional volume term for Apar contribution. dg_gyrokinetic_surf_t surf[4]; // Surface terms. dg_gyrokinetic_boundary_surf_t boundary_surf[4]; // Surface terms for velocity boundary. struct gkyl_range conf_range; // Configuration space range. @@ -97,31 +97,28 @@ kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const long vidx = gkyl_range_idx(&gyrokinetic->vel_map->local_vel, vel_idx); long pidx = gkyl_range_idx(&gyrokinetic->phase_range, idx); double cfl = 0.0; - cfl = gyrokinetic->vol_es_term(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx), - qIn, qRhsOut); - cfl += gyrokinetic->vol_add_apar_term(xc, dx, - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx), - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx), - qIn, qRhsOut); - cfl += gyrokinetic->vol_add_apardot_term( - (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx), - gyrokinetic->charge, gyrokinetic->mass, - (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx), - qIn, qRhsOut); + + const double *phi = (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.phi, cidx); + const double *apar = (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apar, cidx); + const double *apardot = (const double*) gkyl_array_cfetch(gyrokinetic->auxfields.apardot, cidx); + const double *vm = (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx); + const double *vm_sq = (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx); + const double *bmag = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx); + const double *jacobtot_inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx); + const double *b_i = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx); + const double *dualcurlbhatoverB = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx); + const double *rtg33inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx); + const double *bioverJB = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx); + + // Electrostatic contribution to volume term. + cfl = gyrokinetic->vol_es_kernel(xc, dx, vm, vm_sq, gyrokinetic->charge, gyrokinetic->mass, + bmag, phi, dualcurlbhatoverB, rtg33inv, bioverJB, qIn, qRhsOut); + // Add Apar contribution to volume term if needed. + cfl += gyrokinetic->vol_add_apar_kernel(xc, dx, vm, vm_sq, gyrokinetic->charge, gyrokinetic->mass, + bmag, jacobtot_inv, b_i, phi, apar, qIn, qRhsOut); + // Add Apardot contribution to volume term if needed. + cfl += gyrokinetic->vol_add_apardot_kernel( vm, gyrokinetic->charge, gyrokinetic->mass, + apardot, qIn, qRhsOut); return cfl; } @@ -175,8 +172,8 @@ static const gkyl_dg_gyrokinetic_vol_es_kern_list ser_no_by_vol_es_kernels[] = { GKYL_CU_D static const gkyl_dg_gyrokinetic_vol_add_apar_kern_list ser_add_apar_vol_kernels[] = { // 1x kernels - { NULL, dg_gyrokinetic_add_apar_vol_return_zero, NULL }, // 0 - { NULL, dg_gyrokinetic_add_apar_vol_return_zero, NULL }, // 1 + { NULL, dg_gyrokinetic_add_apar_vol_1x1v_ser_p1, NULL }, // 0 + { NULL, dg_gyrokinetic_add_apar_vol_1x2v_ser_p1, NULL }, // 1 // 2x kernels { NULL, dg_gyrokinetic_add_apar_vol_2x2v_ser_p1, NULL }, // 2 // 3x kernels From 4bb87174981654793bec2e2b97805383dc162ca7 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 17 Feb 2026 11:53:45 -0500 Subject: [PATCH 105/181] =?UTF-8?q?=F0=9F=94=A5=F0=9F=90=9B=F0=9F=94=A5=20?= =?UTF-8?q?the=20rhs=20was=20always=20static,=20bug=20introduce=20during?= =?UTF-8?q?=20the=20logic=20rehandling.=20the=20alfven=20tests=20are=20giv?= =?UTF-8?q?ing=20the=20correct=20frequencies=20and=20conserve=20energy=20a?= =?UTF-8?q?nd=20particle=20now=20for=201x2v,=202x2v=20and=203x2v.=20The=20?= =?UTF-8?q?3x2v=20case=20takes=201min30s=20agains=201min=20for=20the=20get?= =?UTF-8?q?=5Fem=5Fback=20branch=20due=20to=20the=20double=20RHS=20evaluat?= =?UTF-8?q?ion...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gyrokinetic/apps/gk_species.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index aaead547ee..8c9487a35c 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1010,7 +1010,7 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app } // Set function pointers. - gks->rhs_func = gk_species_rhs_static; + gks->rhs_func = gk_species_rhs_dynamic; if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)){ gks->rhs_star_func = gk_species_rhs_star_dynamic; } else { From 0c48925ffb8b8adb2c5fd8541542c76061f6b88b Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 17 Feb 2026 13:55:32 -0500 Subject: [PATCH 106/181] small bug fix of the collisionless type --- gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c b/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c index a520d0502d..a2412585c3 100644 --- a/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_bgk_cross_relax_1x2v_p1.c @@ -390,7 +390,7 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES_NO, + .type = GKYL_GK_COLLISIONLESS_ES, .no_by = true, }, From 7ab32681e41307fb8dbe27bda964d6e75bf773f6 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Tue, 17 Feb 2026 10:58:29 -0800 Subject: [PATCH 107/181] =?UTF-8?q?finish=20GPU=20implementation=20of=20fu?= =?UTF-8?q?ll=20upwind=20em=20scheme.=20Tested=20in=20all=20alfven=20cases?= =?UTF-8?q?=20and=20one=20TCV=20with=20multi=20GPU=20all=20looks=20to=20wo?= =?UTF-8?q?rk=20fine.=20The=20results=20though=20are=20exactly=20the=20sam?= =?UTF-8?q?e=20as=20the=20get=5Fem=5Fback=20implementation...=20so=20we=20?= =?UTF-8?q?do=20not=20see=20any=20improvement=20of=20the=20discontinuity?= =?UTF-8?q?=20build=20up=20observed=20in=20ne=20and=20Te=20when=20using=20?= =?UTF-8?q?the=20full=20upwind=20advection=20instead=20of=20the=20partial?= =?UTF-8?q?=20one=20=F0=9F=98=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 22 ++++---- gyrokinetic/zero/gk_collisionless_flux.c | 2 +- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 52 ++++++++----------- gyrokinetic/zero/gkyl_dg_gyrokinetic.h | 4 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 2 +- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 3 +- .../zero/gkyl_gk_collisionless_flux_priv.h | 7 +-- 7 files changed, 43 insertions(+), 49 deletions(-) diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 1df3ea9f0b..4be7c2b899 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -38,7 +38,7 @@ gkyl_gyrokinetic_set_auxfields_cu(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_ __global__ static void dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_basis_type b_type, int cv_index, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type collless_type, - bool no_by, bool only_apardot) + bool no_by, bool em_star) { gyrokinetic->auxfields.flux_surf = 0; gyrokinetic->auxfields.phi = 0; @@ -49,9 +49,9 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas gyrokinetic->eqn.boundary_surf_term = boundary_surf; gyrokinetic->eqn.boundary_diag_term = boundary_diag; - const gkyl_dg_gyrokinetic_vol_kern_list *vol_kernels, *vol_no_by_kernels; + const gkyl_dg_gyrokinetic_vol_es_kern_list *vol_kernels, *vol_no_by_kernels; const gkyl_dg_gyrokinetic_vol_add_apar_kern_list *vol_add_apar_kernels; - const gkyl_dg_gyrokinetic_vol_kern_list *vol_add_apardot_kernels; + const gkyl_dg_gyrokinetic_vol_add_apardot_kern_list *vol_add_apardot_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_x_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_y_kernels; const gkyl_dg_gyrokinetic_surf_kern_list *surf_z_kernels; @@ -63,7 +63,7 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas switch (b_type) { case GKYL_BASIS_MODAL_SERENDIPITY: - vol_kernels = ser_vol_kernels; + vol_kernels = ser_vol_es_kernels; vol_add_apar_kernels = ser_add_apar_vol_kernels; vol_add_apardot_kernels = ser_add_apardot_vol_kernels; surf_x_kernels = ser_surf_x_kernels; @@ -75,7 +75,7 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas boundary_surf_z_kernels = ser_boundary_surf_z_kernels; boundary_surf_vpar_kernels = ser_boundary_surf_vpar_kernels; - vol_no_by_kernels = ser_no_by_vol_kernels; + vol_no_by_kernels = ser_no_by_vol_es_kernels; break; @@ -87,10 +87,10 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas gyrokinetic->eqn.vol_term = kernel_dg_gyrokinetic_vol; if (no_by) { - gyrokinetic->vol_es_kernel = CK(vol_no_by_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_kernel = vol_no_by_kernels[cv_index].kernels[poly_order]; } else { - gyrokinetic->vol_es_kernel = CK(vol_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_es_kernel = vol_kernels[cv_index].kernels[poly_order]; } // Setup electromagnetic terms if needed. @@ -98,10 +98,10 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_return_zero; gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_return_zero; if (is_em) { - gyrokinetic->vol_add_apar_kernel = CK(vol_add_apar_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_add_apar_kernel = vol_add_apar_kernels[cv_index].kernels[poly_order]; // Apardot is removed if we want to compute RHS star (ES + Apardot). - if (em_star) - gyrokinetic->vol_add_apardot_kernel = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_add_apardot_kernel = em_star ? + dg_gyrokinetic_add_apardot_vol_return_zero : vol_add_apardot_kernels[cv_index].kernels[poly_order]; } gyrokinetic->surf[0] = surf_x_kernels[cv_index].kernels[poly_order]; @@ -162,7 +162,7 @@ gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gky gkyl_cu_memcpy(gyrokinetic_cu, gyrokinetic, sizeof(struct dg_gyrokinetic), GKYL_CU_MEMCPY_H2D); dg_gyrokinetic_set_cu_dev_ptrs<<<1,1>>>(gyrokinetic_cu, cbasis->b_type, cv_index[cdim].vdim[vdim], - cdim, vdim, poly_order, collless_type, no_by, only_apardot); + cdim, vdim, poly_order, collless_type, no_by, em_star); // set parent on_dev pointer gyrokinetic->eqn.on_dev = &gyrokinetic_cu->eqn; diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 22d5cd2e27..3ecf356485 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -20,7 +20,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_gk_collisionless_flux_cu_dev_new(phase_grid, conf_basis, phase_basis, - charge, mass, type, no_by, only_apardot, em_star, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); + charge, mass, type, no_by, em_star, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); #endif gkyl_gk_collisionless_flux *up = gkyl_malloc(sizeof(gkyl_gk_collisionless_flux)); diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index 1b13d8c2f0..2f887bf2f4 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -205,39 +205,31 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, __global__ static void gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, bool em, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, - bool no_by, bool only_apardot, + bool no_by, bool em_star, const enum gkyl_gyrokinetic_bc_type *bctype_conf) { - if (only_apardot){ - // If we only add Apardot terms to the flux, the only non zero kernel is the vpar one. + // Choose appropriate kernels. + em = em_star ? 2 : em; // If em_star is true, use EM kernels without Apardot contribution. + if (no_by) { for (int d=0; dflux_surf[d] = gk_collisionless_flux_surf_return_zero; - up->flux_surf_edge_lo[d] = gk_collisionless_flux_surf_return_zero; - up->flux_surf_edge_up[d] = gk_collisionless_flux_surf_return_zero; + // BC option in ->flux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_add_apardot_surf_vpar_kern(cdim, vdim, poly_order); - } else { - if (no_by) { - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); - } else { // The Apar term is included in the kernels. If we are ES, Apar=0. - for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, - poly_order, bctype_conf[GKYL_MAX_CDIM+d]); - } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); + } else { // The Apar term is included in the kernels. If we are ES, Apar=0. + for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[d]); + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, + poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); } } @@ -245,7 +237,7 @@ gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type type, - const bool no_by, const bool only_apardot, + const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf) @@ -284,7 +276,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, struct gkyl_gk_collisionless_flux *up_cu = (struct gkyl_gk_collisionless_flux*) gkyl_cu_malloc(sizeof(*up_cu)); gkyl_cu_memcpy(up_cu, up, sizeof(gkyl_gk_collisionless_flux), GKYL_CU_MEMCPY_H2D); - gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, em, cdim, vdim, poly_order, type, no_by, only_apardot, bctype_conf_dev); + gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, em, cdim, vdim, poly_order, type, no_by, em_star, bctype_conf_dev); gkyl_cu_free(bctype_conf_dev); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h index fe5581fa6d..8dbbd24ca0 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h @@ -29,7 +29,7 @@ struct gkyl_dg_gyrokinetic_auxfields { * @param skip_cell_threshold Threshold for skipping cells in the gyrokinetic equation * @param collless_type Type of collisionless terms. * @param no_by Whether to neglect the toroidal field (set b_y=0). - * @param only_apardot Whether we want to only add the apardot term. + * @param em_star Whether to compute RHS star (i.e. ES + Apardot) RHS for electromagnetic simulations. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param use_gpu Boolean to determine if gyrokinetic equation object is on device @@ -38,7 +38,7 @@ struct gkyl_dg_gyrokinetic_auxfields { struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_cell_threshold, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 4832cbb08a..08566c6227 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -402,7 +402,7 @@ boundary_diag(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, double skip_if_smaller_than, enum gkyl_gk_collisionless_type collless_type, - const bool no_by, const bool only_apardot, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); + const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); /** * CUDA device function to set the auxiliary fields (e.g. geometry & EM fields) diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index 28e7cbda2e..2c70c74a84 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -53,7 +53,8 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, * @param conf_ext_range Extended configuration space range (so we obtain geo quantities at all the needed surfaces). * @param phase_ext_range Extended Phase space range (so we obtain alpha_surf at all the needed surfaces). * @param phi Electrostatic potential. - * @param apar Parallel component of vector potential OR should be Apardot if only_apardot is true. + * @param apar Parallel component of vector potential. + * @param apardot Time derivative of parallel component of vector potential. * @param fin Distribution function. * @param flux_surf Output surface expansion in a cell on the *lower* edge in each direction. * @param clfrate Output CFL rate. diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 8cf9212fa7..db8b8269e2 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -955,7 +955,7 @@ choose_gk_collisionless_flux_no_by_surf_vpar_kern(int em, int cdim, int vdim, in struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, - double charge, double mass, enum gkyl_gk_collisionless_type type, const bool no_by, const bool only_apardot, + double charge, double mass, enum gkyl_gk_collisionless_type type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf); @@ -965,6 +965,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, */ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, const struct gkyl_array *phi, - const struct gkyl_array *apar, const struct gkyl_array* fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate); + const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, + const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *apardot, + const struct gkyl_array* fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate); #endif From 33731ed2396a5ca7a29b02f91966b86b39afb10d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 18 Feb 2026 09:21:30 -0500 Subject: [PATCH 108/181] These new apar volume kernels use the product rule to compute ``` curl(Apar b)/mB ``` as ``` Apar/m curl(b)/B + grad(Apar)/m x b/B ``` so that we make full use of predefined geometric quantities used in the electrostatic volume kernel, i.e. - `dualcurlbhatoverB` for curl(b)/B - `bioverJB` for the cross product with b/B --- .../dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c | 25 +++- .../dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c | 34 ++++- .../dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c | 60 ++++---- .../dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c | 140 ++++++++++-------- .../gkyl_dg_gyrokinetic_kernels.h | 8 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 11 +- 6 files changed, 177 insertions(+), 101 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c index 16e90e0188..889648f0c1 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c @@ -1,6 +1,6 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. @@ -10,6 +10,8 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const // q_,m_: species charge and mass. // bmag: magnetic field amplitude. // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // dualcurlbhatoverB: dual curl of bhat over B. + // bioverJB: b_i over J times B. // b_i: covariant components of the field aligned unit vector. // apar: parallel component of magnetic vector potential. // phi: electrostatic potential . @@ -26,6 +28,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const const double *b_y = &b_i[2]; const double *b_z = &b_i[4]; + const double *bioverJB_x = &bioverJB[0]; + const double *bioverJB_y = &bioverJB[2]; + const double *bioverJB_z = &bioverJB[4]; + + const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[2]; + const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[4]; + double hamil[6] = {0.}; hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; hamil[1] = 1.4142135623730951*phi[1]*q_; @@ -39,12 +49,25 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const hamil2[1] = hamil[4]*hamil[4]; double alphax[6] = {0.}; + alphax[0] = ((0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[1] = ((0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[2] = ((1.5811388300841895*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+1.5811388300841895*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdx2)/(vmap[1]*m_); + alphax[3] = ((1.5811388300841895*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+1.5811388300841895*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdx2)/(vmap[1]*m_); + out[1] += 0.8660254037844386*(alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); + out[3] += 0.7745966692414834*alphax[3]*fin[5]+0.7745966692414833*alphax[2]*fin[4]+0.8660254037844386*(alphax[1]*fin[3]+fin[1]*alphax[3]+alphax[0]*fin[2]+fin[0]*alphax[2]); + out[5] += 0.8660254037844386*alphax[1]*fin[5]+0.8660254037844387*alphax[0]*fin[4]+0.7745966692414834*(alphax[3]*fin[3]+alphax[2]*fin[2]); double alphavpar[6] = {0.}; + alphavpar[0] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/(vmap[1]*m_); + alphavpar[1] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/(vmap[1]*m_); + out[2] += 0.8660254037844386*(alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[3] += 0.8660254037844386*(alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[4] += 1.9364916731037085*(alphavpar[1]*fin[3]+alphavpar[0]*fin[2]); + out[5] += 1.9364916731037085*(alphavpar[0]*fin[3]+alphavpar[1]*fin[2]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c index 459582a12d..491eab8b83 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c @@ -1,6 +1,6 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. @@ -10,6 +10,8 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const // q_,m_: species charge and mass. // bmag: magnetic field amplitude. // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // dualcurlbhatoverB: dual curl of bhat over B. + // bioverJB: b_i over J times B. // b_i: covariant components of the field aligned unit vector. // apar: parallel component of magnetic vector potential. // phi: electrostatic potential . @@ -27,6 +29,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const const double *b_y = &b_i[2]; const double *b_z = &b_i[4]; + const double *bioverJB_x = &bioverJB[0]; + const double *bioverJB_y = &bioverJB[2]; + const double *bioverJB_z = &bioverJB[4]; + + const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[2]; + const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[4]; + double hamil[12] = {0.}; hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; @@ -42,12 +52,34 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const hamil2[1] = hamil[8]*hamil[8]; double alphax[12] = {0.}; + alphax[0] = ((0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[1] = ((0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[2] = ((1.5811388300841895*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]+1.5811388300841895*apar[0]*dualcurlbhatoverB_z[0]*hamil[8])*rdx2)/(vmap[1]*m_); + alphax[4] = ((1.5811388300841895*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]+1.5811388300841895*dualcurlbhatoverB_z[0]*apar[1]*hamil[8])*rdx2)/(vmap[1]*m_); + out[1] += 0.6123724356957944*(alphax[4]*fin[4]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); + out[4] += 0.5477225575051661*(alphax[4]*fin[9]+alphax[2]*fin[8])+0.6123724356957944*(alphax[1]*fin[4]+fin[1]*alphax[4]+alphax[0]*fin[2]+fin[0]*alphax[2]); + out[5] += 0.6123724356957944*(alphax[4]*fin[7]+alphax[2]*fin[6]+alphax[1]*fin[5]+alphax[0]*fin[3]); + out[7] += 0.5477225575051661*(alphax[4]*fin[11]+alphax[2]*fin[10])+0.6123724356957944*(alphax[1]*fin[7]+alphax[0]*fin[6]+alphax[4]*fin[5]+alphax[2]*fin[3]); + out[9] += 0.6123724356957944*(alphax[1]*fin[9]+alphax[0]*fin[8])+0.5477225575051661*(alphax[4]*fin[4]+alphax[2]*fin[2]); + out[11] += 0.6123724356957944*(alphax[1]*fin[11]+alphax[0]*fin[10])+0.5477225575051661*(alphax[4]*fin[7]+alphax[2]*fin[6]); double alphavpar[12] = {0.}; + alphavpar[0] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/(vmap[1]*m_); + alphavpar[1] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/(vmap[1]*m_); + alphavpar[3] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[5])-0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[5])*rdx2)/(vmap[1]*m_); + alphavpar[5] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[5])-0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[5])*rdx2)/(vmap[1]*m_); + out[2] += 0.6123724356957944*(alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[4] += 0.6123724356957944*(alphavpar[3]*fin[5]+fin[3]*alphavpar[5]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[6] += 0.6123724356957944*(alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); + out[7] += 0.6123724356957944*(alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); + out[8] += 1.369306393762915*(alphavpar[5]*fin[7]+alphavpar[3]*fin[6]+alphavpar[1]*fin[4]+alphavpar[0]*fin[2]); + out[9] += 1.369306393762915*(alphavpar[3]*fin[7]+alphavpar[5]*fin[6]+alphavpar[0]*fin[4]+alphavpar[1]*fin[2]); + out[10] += 1.369306393762915*(alphavpar[1]*fin[7]+alphavpar[0]*fin[6]+fin[4]*alphavpar[5]+fin[2]*alphavpar[3]); + out[11] += 1.369306393762915*(alphavpar[0]*fin[7]+alphavpar[1]*fin[6]+fin[2]*alphavpar[5]+alphavpar[3]*fin[4]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c index 7b32a1eb31..0b083c62b0 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c @@ -1,6 +1,6 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. @@ -10,6 +10,8 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const // q_,m_: species charge and mass. // bmag: magnetic field amplitude. // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // dualcurlbhatoverB: dual curl of bhat over B. + // bioverJB: b_i over J times B. // b_i: covariant components of the field aligned unit vector. // apar: parallel component of magnetic vector potential. // phi: electrostatic potential . @@ -28,6 +30,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const const double *b_y = &b_i[4]; const double *b_z = &b_i[8]; + const double *bioverJB_x = &bioverJB[0]; + const double *bioverJB_y = &bioverJB[4]; + const double *bioverJB_z = &bioverJB[8]; + + const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[8]; + double hamil[24] = {0.}; hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; @@ -47,14 +57,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const hamil2[1] = hamil[16]*hamil[16]; double alphax[24] = {0.}; - alphax[0] = ((-(0.6123724356957944*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]-0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[1] = ((-(1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*apar[2]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]-0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[2] = ((-(0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[3] = ((-(1.369306393762915*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphax[5] = ((-(0.5511351921262146*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.5511351921262146*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[2]*hamil[3]*jacobtot_inv[3]-1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[6] = ((-(2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.232375754386623*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]-1.369306393762915*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]-1.232375754386623*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphax[7] = ((-(0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16])-0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphax[11] = ((-(1.232375754386623*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.232375754386623*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[16]-2.4647515087732463*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[0] = (((-(0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[0]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[3])-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_y[3]*hamil[16])-1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; out[1] += 0.4330127018922193*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -71,14 +81,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphax[1]*fin[23]+0.43301270189221935*(alphax[0]*fin[22]+alphax[5]*fin[21])+0.4330127018922193*alphax[2]*fin[19]+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); double alphaz[24] = {0.}; - alphaz[0] = ((0.6123724356957944*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[1] = ((0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[2] = ((1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[3] = ((1.369306393762915*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[5] = ((0.5511351921262146*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[6] = ((0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[7] = ((2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+1.232375754386623*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+1.232375754386623*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[11] = ((1.232375754386623*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.232375754386623*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+2.4647515087732463*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]+0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[0] = ((0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/(vmap[1]*m_); + alphaz[1] = ((0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/(vmap[1]*m_); + alphaz[2] = ((0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/(vmap[1]*m_); + alphaz[3] = ((0.7905694150420947*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[0]*hamil[16])*rdz2)/(vmap[1]*m_); + alphaz[5] = ((0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/(vmap[1]*m_); + alphaz[6] = ((0.7905694150420947*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[1]*hamil[16])*rdz2)/(vmap[1]*m_); + alphaz[7] = ((0.7905694150420947*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[2]*hamil[16])*rdz2)/(vmap[1]*m_); + alphaz[11] = ((0.7905694150420947*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[2]*hamil[16])*rdz2)/(vmap[1]*m_); out[2] += 0.4330127018922193*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -95,14 +105,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphaz[2]*fin[23]+0.43301270189221935*(alphaz[5]*fin[22]+alphaz[0]*fin[21])+0.4330127018922193*alphaz[1]*fin[19]+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); double alphavpar[24] = {0.}; - alphavpar[0] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[5])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[5]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[5]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[5]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[5]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3]-0.6123724356957944*b_y[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*b_y[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*jacobtot_inv[2]*apar[3]*b_y[3]-0.6123724356957944*jacobtot_inv[1]*hamil[2]*apar[3]*b_y[3]-0.3061862178478971*apar[0]*hamil[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[0]*apar[2]*hamil[2]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]-0.3061862178478971*b_y[0]*hamil[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*hamil[2]*apar[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[2]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[2]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[2]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[2]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[2]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[1] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[5])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[5]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[5]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[5]+1.1022703842524295*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*hamil[2]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*hamil[2]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*hamil[2]*apar[3]*b_y[3]-0.6123724356957944*apar[1]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.6123724356957944*hamil[1]*apar[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[1]*apar[2]*hamil[2]*b_y[3]+0.5511351921262146*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]-0.6123724356957944*b_y[1]*hamil[2]*jacobtot_inv[2]*apar[3]+0.6123724356957944*hamil[1]*b_y[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*hamil[2]*apar[3]+0.5511351921262146*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[2]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[2]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[2]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[2] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[5]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[5]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[5]-1.1022703842524295*hamil[2]*apar[3]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3]-0.5511351921262146*apar[2]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.6123724356957944*apar[1]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[2]*b_y[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3]-0.5511351921262146*b_y[2]*hamil[2]*jacobtot_inv[2]*apar[3]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[2]*apar[3]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*b_y[2]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[2]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[2]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[4] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[12])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[12]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[12]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[12]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[12]-0.6123724356957944*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[9]+0.6123724356957944*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[5] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[5]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[5]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[5]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[5]-0.5511351921262146*apar[2]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.5511351921262146*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]-0.5511351921262146*b_y[2]*hamil[2]*apar[3]*jacobtot_inv[3]+0.5511351921262146*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[3]-1.1022703842524295*hamil[2]*jacobtot_inv[2]*apar[3]*b_y[3]+1.1022703842524295*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.6123724356957944*jacobtot_inv[0]*apar[1]*hamil[2]*b_y[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*hamil[2]*apar[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*b_y[2]*apar[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[2]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[2]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[8] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[12]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[12]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[12]-0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[9]+1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[8]+0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[8]+0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[9] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[12]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[12]-1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[9]-0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[9]+0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[12] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[12]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[12]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[9]-1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[9]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[9]+0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[8]+1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[5]-0.6123724356957944*bioverJB_y[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_z[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[5]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_y[3]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[2]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_x[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[5])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[12]-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[5])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_y[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_y[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[9]+0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[12])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[12])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[9]-0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[8]+0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; out[3] += 0.4330127018922193*(alphavpar[12]*fin[12]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c index 705fe962bd..100d9568df 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c @@ -1,6 +1,6 @@ #include GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) { // w[NDIM]: cell-center. @@ -10,6 +10,8 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const // q_,m_: species charge and mass. // bmag: magnetic field amplitude. // jacobtot_inv: reciprocal of the conf-space jacobian time the guiding center coordinate Jacobian. + // dualcurlbhatoverB: dual curl of bhat over B. + // bioverJB: b_i over J times B. // b_i: covariant components of the field aligned unit vector. // apar: parallel component of magnetic vector potential. // phi: electrostatic potential . @@ -29,6 +31,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const const double *b_y = &b_i[8]; const double *b_z = &b_i[16]; + const double *bioverJB_x = &bioverJB[0]; + const double *bioverJB_y = &bioverJB[8]; + const double *bioverJB_z = &bioverJB[16]; + + const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[8]; + const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[16]; + double hamil[48] = {0.}; hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; @@ -52,22 +62,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const hamil2[1] = hamil[32]*hamil[32]; double alphax[48] = {0.}; - alphax[0] = (((-(0.21650635094610965*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]-0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]+0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[1] = (((-(0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*apar[3]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_z[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]+0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[2] = ((-(0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]-0.21650635094610965*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[3] = (((-(0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[4] = (((-(0.4841229182759271*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[6] = ((-(0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7])-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[7] = (((-(0.19485571585149863*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.19485571585149863*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[3]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]+0.19485571585149863*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[2]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[8] = ((-(0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[9] = (((-(0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.43571062644833425*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]+0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[10] = ((-(0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]-0.4841229182759271*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphax[11] = (((-(0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]+0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[16] = ((-(0.19485571585149863*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[17] = ((-(0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphax[18] = (((-(0.43571062644833425*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.7842791276070014*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]+0.43571062644833425*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[19] = ((-(0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphax[26] = ((-(0.43571062644833425*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[0] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7]+0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[6]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[6]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5])-0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[6]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5]+0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[4] = (((-(0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[0]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(0.3061862178478971*apar[3]*hamil[4]*bioverJB_y[5])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[6]+0.3061862178478971*apar[2]*hamil[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[8] = (((-(0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[9] = (((-(0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[5]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[1]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[10] = (((-(0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32])-0.6846531968814573*apar[3]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[6]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[16] = (((-(0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[17] = (((-(0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[18] = (((-(0.6846531968814573*apar[3]*bioverJB_y[5]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[6]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[5]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[19] = (((-(0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[26] = (((-(0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[5]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[4]*hamil[32])*rdx2)/vmap[1])/m_; out[1] += 0.3061862178478971*(alphax[26]*fin[26]+alphax[19]*fin[19]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[16]*fin[16]+alphax[11]*fin[11]+alphax[10]*fin[10]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -96,22 +106,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphax[1]*fin[47]+alphax[0]*fin[46]+alphax[6]*fin[45]+alphax[7]*fin[44]+alphax[2]*fin[42]+alphax[3]*fin[41]+alphax[16]*fin[40]+alphax[8]*fin[36])+0.273861278752583*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[17]*fin[29]+alphax[18]*fin[28]+fin[23]*alphax[26]+alphax[10]*fin[25]+alphax[11]*fin[24]+fin[15]*alphax[19]); double alphay[48] = {0.}; - alphay[0] = (((0.21650635094610965*apar[3]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*b_x[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[5]+0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[4]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*apar[1]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*b_z[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[1] = (((0.38971143170299727*hamil[4]*apar[5]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*apar[3]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_x[5]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[0]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.10825317547305482*b_z[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_z[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[2] = (((0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]+0.21650635094610965*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[3] = (((0.10825317547305482*apar[0]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*apar[5]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*apar[1]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_z[5]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[4] = (((0.4841229182759271*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[6] = (((0.38971143170299727*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[7] = (((0.19485571585149863*apar[1]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[3]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[3]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.19485571585149863*b_z[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*apar[1]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[5]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[8] = (((0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]-0.21650635094610965*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[9] = (((0.8714212528966685*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.43571062644833425*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[10] = (((0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]+0.4841229182759271*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[11] = (((0.24206145913796356*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[32]-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[16] = (((0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[17] = (((0.8714212528966685*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[18] = (((0.43571062644833425*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[19] = (((0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]-0.4841229182759271*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[26] = (((0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]-0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[0] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[1] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_z[5])-0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[2] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[3] = (((0.3061862178478971*hamil[4]*apar[5]*bioverJB_x[5]+0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[5])-0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[4] = (((0.6846531968814573*bioverJB_x[1]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[0]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[6] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7])-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[7] = (((0.3061862178478971*apar[3]*hamil[4]*bioverJB_x[5]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[5])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*hamil[4]*bioverJB_z[5])-0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[8] = (((0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[9] = (((0.6846531968814573*bioverJB_x[0]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[5]*bioverJB_z[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[1]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[10] = (((0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[11] = (((0.6846531968814573*apar[5]*bioverJB_x[5]*hamil[32]+0.6846531968814573*apar[3]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[16] = (((0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7])-0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[17] = (((0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[18] = (((0.6846531968814573*apar[3]*bioverJB_x[5]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[5]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[1]*bioverJB_z[5]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[19] = (((0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[26] = (((0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32])-0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[4]*hamil[32])*rdy2)/vmap[1])/m_; out[2] += 0.3061862178478971*(alphay[26]*fin[26]+alphay[19]*fin[19]+alphay[18]*fin[18]+alphay[17]*fin[17]+alphay[16]*fin[16]+alphay[11]*fin[11]+alphay[10]*fin[10]+alphay[9]*fin[9]+alphay[8]*fin[8]+alphay[7]*fin[7]+alphay[6]*fin[6]+alphay[4]*fin[4]+alphay[3]*fin[3]+alphay[2]*fin[2]+alphay[1]*fin[1]+alphay[0]*fin[0]); @@ -140,22 +150,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphay[2]*fin[47]+alphay[6]*fin[46]+alphay[0]*fin[45]+alphay[8]*fin[44]+alphay[1]*fin[42]+alphay[16]*fin[41]+alphay[3]*fin[40]+alphay[7]*fin[36])+0.273861278752583*(alphay[10]*fin[31]+alphay[17]*fin[30]+alphay[4]*fin[29]+alphay[19]*fin[28]+fin[24]*alphay[26]+alphay[9]*fin[25]+alphay[11]*fin[23]+fin[15]*alphay[18]); double alphaz[48] = {0.}; - alphaz[0] = (((-(0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[4]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.21650635094610965*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[1] = (((-(0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[2] = ((0.21650635094610965*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[3] = (((-(0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[4] = (((-(0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.4841229182759271*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[6] = ((0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[7] = (((-(0.35074028853269745*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]-0.19485571585149863*b_x[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*apar[2]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*apar[1]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[8] = ((0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]+0.21650635094610965*b_y[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[9] = (((-(0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]-0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[10] = ((0.4841229182759271*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[11] = (((-(0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]-0.43571062644833425*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[16] = ((0.19485571585149863*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_y[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[17] = ((0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[18] = (((-(0.7842791276070014*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]-0.43571062644833425*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.43571062644833425*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[19] = ((0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]+0.4841229182759271*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[26] = ((0.43571062644833425*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]+0.43571062644833425*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[0] = (((-(0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7])-0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6]-0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[1] = (((-(0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5]+0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[3] = (((-(0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6]-0.3061862178478971*apar[4]*hamil[4]*bioverJB_x[5]-0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5]+0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[4] = (((-(0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[0]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[6] = (((0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[7] = (((-(0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6]-0.3061862178478971*apar[2]*hamil[4]*bioverJB_x[5]-0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*hamil[4]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[8] = (((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[9] = (((-(0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[1]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[10] = (((0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[11] = (((-(0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32]-0.6846531968814573*apar[4]*bioverJB_x[5]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[16] = (((0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[17] = (((0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[18] = (((-(0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[5]*hamil[32]-0.6846531968814573*bioverJB_x[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[1]*bioverJB_y[5]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[19] = (((0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[26] = (((0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_y[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[4]*hamil[32])*rdz2)/vmap[1])/m_; out[3] += 0.3061862178478971*(alphaz[26]*fin[26]+alphaz[19]*fin[19]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[16]*fin[16]+alphaz[11]*fin[11]+alphaz[10]*fin[10]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -184,22 +194,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphaz[3]*fin[47]+alphaz[7]*fin[46]+alphaz[8]*fin[45]+alphaz[0]*fin[44]+alphaz[16]*fin[42]+alphaz[1]*fin[41]+alphaz[2]*fin[40]+alphaz[6]*fin[36])+0.273861278752583*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[19]*fin[29]+alphaz[4]*fin[28]+fin[25]*alphaz[26]+alphaz[9]*fin[24]+alphaz[10]*fin[23]+fin[15]*alphaz[17]); double alphavpar[48] = {0.}; - alphavpar[0] = (((-(0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[7]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[6]+0.10825317547305482*apar[2]*hamil[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*b_x[3]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[5]*b_x[5]+0.10825317547305482*hamil[3]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[4]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[3]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[3]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[3]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[8]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[6]*apar[7]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[6]-0.21650635094610965*apar[1]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*b_y[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*apar[5]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*hamil[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[3]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[16]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.38971143170299727*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.21650635094610965*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[8]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[7]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[7]+0.10825317547305482*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[6]+0.21650635094610965*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[6]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[6]+0.21650635094610965*apar[1]*hamil[2]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[5]*jacobtot_inv[5]+0.21650635094610965*b_z[1]*hamil[2]*apar[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[5]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[3]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[4]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[3]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[3]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[2]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[2]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[1] = (((-(0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[16]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[7]+0.19485571585149863*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[6]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[6]-0.38971143170299727*hamil[2]*apar[5]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*hamil[3]*apar[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_x[5]-0.21650635094610965*hamil[2]*apar[3]*jacobtot_inv[3]*b_x[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[5]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[5]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[5]+0.10825317547305482*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[4]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[3]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[16]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]-0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[7]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[6]*apar[7]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[6]+0.38971143170299727*hamil[1]*apar[5]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[5]*b_y[5]-0.21650635094610965*apar[1]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.21650635094610965*hamil[1]*apar[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[3]*b_y[5]+0.19485571585149863*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[5]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[16]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[7]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[6]-0.19485571585149863*hamil[1]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_z[5]+0.21650635094610965*apar[1]*hamil[2]*jacobtot_inv[3]*b_z[5]-0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*apar[3]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[4]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[2]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[2]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[2] = (((-(0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[16])-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[8]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*hamil[6]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[6]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[7]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.21650635094610965*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[6]-0.21650635094610965*hamil[3]*apar[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_y[5]-0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[4]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[16]+0.38971143170299727*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[8]+0.21650635094610965*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[2]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[4]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[3] = (((-(0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[16]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[16]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[7]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[6]-0.10825317547305482*apar[0]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[1]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[16]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[16]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[8]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[7]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[6]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[6]-0.38971143170299727*hamil[3]*apar[5]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[5]*jacobtot_inv[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[5]*b_y[5]-0.19485571585149863*apar[3]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[3]*b_y[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[5]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[5]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[5]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[16]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[8]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[7]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[7]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[6]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[6]+0.38971143170299727*hamil[2]*apar[5]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[4]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_z[5]+0.19485571585149863*hamil[2]*apar[3]*jacobtot_inv[3]*b_z[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[5]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[5]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[5]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[3]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[3]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[3]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[5] = (((0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[21]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[14]+0.10825317547305482*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[21]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[14]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[21]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[12]-0.10825317547305482*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[6] = (((-(0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[16])-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[3]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*hamil[6]*apar[7]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*hamil[6]*apar[7]-0.38971143170299727*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[6]-0.19485571585149863*jacobtot_inv[1]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[8]-0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[7]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[7]+0.38971143170299727*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[6]-0.10825317547305482*apar[2]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[3]*jacobtot_inv[3]*apar[4]*b_y[5]+0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[4]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[16]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[8]+0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[8]+0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*apar[2]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*hamil[2]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[4]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[7] = (((-(0.7014805770653949*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.7014805770653949*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.7014805770653949*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[16]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[16]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[8]+0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[7]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[7]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[7]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[7]+0.35074028853269745*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[7]-0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[6]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[6]-0.19485571585149863*apar[1]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.19485571585149863*b_x[1]*hamil[2]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*apar[5]*b_x[5]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[16]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[8]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[8]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[8]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[7]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[7]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.19485571585149863*apar[3]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*apar[1]*hamil[1]*b_y[5]*jacobtot_inv[5]-0.19485571585149863*b_y[3]*hamil[3]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_y[1]*hamil[1]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[5]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*apar[5]*b_y[5]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[3]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[16]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[16]+0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[8]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[8]-0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[7]-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[7]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[7]-0.35074028853269745*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[6]+0.19485571585149863*hamil[2]*apar[3]*b_z[5]*jacobtot_inv[5]+0.19485571585149863*hamil[2]*b_z[3]*apar[5]*jacobtot_inv[5]-0.19485571585149863*b_z[1]*hamil[1]*apar[4]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[5]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*apar[5]*b_z[5]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[4]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[3]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[3]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[8] = (((-(0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[16])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[6]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[6]-0.10825317547305482*apar[2]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*b_x[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[16]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[7]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[7]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[7]-0.38971143170299727*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[7]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[6]+0.10825317547305482*hamil[1]*apar[2]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*b_y[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[4]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[8]+0.38971143170299727*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[6]*apar[7]+0.38971143170299727*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[6]+0.21650635094610965*b_z[1]*hamil[2]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[4]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[3])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[12] = (((0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[14]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[14]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[21])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[21]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[14]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[12]-0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[12]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[13] = ((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[14]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[14]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[12]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[14] = (((0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[14]+0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[21]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[21]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[14]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[21]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[12]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[16] = (((-(0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[16])-0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[0]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[0]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[7]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[6]-0.19485571585149863*hamil[2]*apar[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_x[5]-0.10825317547305482*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[16]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[7]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[7]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[6]-0.19485571585149863*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[6]+0.19485571585149863*hamil[1]*apar[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[4]*b_y[5]+0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[16]+0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[16]+0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.35074028853269745*b_z[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[5]*apar[7]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[6]+0.10825317547305482*b_z[0]*hamil[2]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[4])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[20] = ((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[21]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[12]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[21] = (((0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[21]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[21]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[14]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[21]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[21]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[21]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[14]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[21])-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[21]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[21]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[12]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[22] = ((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[21]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[21]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[14]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[14]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[12]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[27] = ((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[21]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[14]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[14]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[14]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[12]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[0] = (((-(0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[16])-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_x[5]*hamil[8]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[7]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[7]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[7]+0.3061862178478971*bioverJB_y[1]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[5]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[5]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[3]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[7]-0.1767766952966368*hamil[3]*apar[5]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[8]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[7]+0.3061862178478971*apar[5]*bioverJB_z[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[5]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[4]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[2]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[2]*apar[5]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[16]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[5]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((-(0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[16])-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[16]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[8]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[8]+0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[7]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[7]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[7]-0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[6]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[7]+0.3061862178478971*bioverJB_y[0]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[6]-0.3061862178478971*hamil[3]*apar[5]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[3]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[7]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[7]-0.1767766952966368*apar[3]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[7]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[7]+0.3061862178478971*bioverJB_z[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[6]+0.3061862178478971*hamil[2]*apar[5]*bioverJB_z[5]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[4]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[2]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[6]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[6]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[8]-0.3061862178478971*bioverJB_x[0]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[8]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[7]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[16]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[7]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[7]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[7]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[3] = (((-(0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[7]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[6]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[6]-0.3061862178478971*hamil[2]*apar[5]*bioverJB_x[5]+0.3061862178478971*hamil[3]*apar[4]*bioverJB_x[5]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[3]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[16]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[7]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[5]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[6]+0.3061862178478971*hamil[1]*apar[5]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[3]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[7]-0.1767766952966368*apar[1]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[8]-0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[7]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[6]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[6]-0.3061862178478971*hamil[1]*apar[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[5]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[3]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[3])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[5]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[6]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[5]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[21]-0.3061862178478971*bioverJB_z[5]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[6] = (((0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[8]-0.5511351921262146*bioverJB_x[1]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[8]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[7]-0.3061862178478971*hamil[3]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[16]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[8]+0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[5]*apar[7]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[7] = (((-(0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[8]+0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[7]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[7]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[7]-0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[6]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[6]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[6]+0.3061862178478971*apar[2]*hamil[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[5]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[8]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[7]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[3]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[6]-0.3061862178478971*apar[1]*hamil[3]*bioverJB_y[5]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[5]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[7]-0.1767766952966368*apar[0]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[5]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[16]+0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[8]-0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[6]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[6]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[5]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[5]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*apar[5]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[6]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[5]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[6]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[5]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[16]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[16]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[8]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[8]-0.3061862178478971*bioverJB_x[3]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[16])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[8]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[7]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[7]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[7]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[6]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[6]-0.1767766952966368*hamil[3]*apar[4]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[3])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[6]-0.1767766952966368*hamil[2]*apar[4]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[3])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[4]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[3])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[21]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[21]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[21]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[13] = (((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[21]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[14] = (((0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[14]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[21])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[14]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[12]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[12]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[16] = (((0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[8]-0.5511351921262146*bioverJB_x[5]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[7]-0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[16])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[7]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[7]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[6]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[6]-0.3061862178478971*hamil[3]*apar[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[7]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[6]-0.1767766952966368*apar[2]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[4])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[6]+0.3061862178478971*hamil[2]*apar[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*dualcurlbhatoverB_y[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[6]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[6]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[4])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[4])*rdx2)/vmap[1])/m_; + alphavpar[20] = (((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[21]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[21] = (((0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[21]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[21])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[14]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[22] = (((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[14]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[12]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[27] = (((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[14]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[14]+0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[21]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[12])*rdx2)/vmap[1])/m_; out[4] += 0.3061862178478971*(alphavpar[27]*fin[27]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[16]*fin[16]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h index e8225e1740..00b7369710 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h +++ b/gyrokinetic/ker/dg_gyrokinetic/gkyl_dg_gyrokinetic_kernels.h @@ -230,7 +230,7 @@ GKYL_CU_DH double dg_gyrokinetic_boundary_surfvpar_3x2v_ser_p1(const double *w, GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, + const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double *vmap, const double q_, const double m_, @@ -238,7 +238,7 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x1v_ser_p1(const double *vmap, GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, + const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double *vmap, const double q_, const double m_, @@ -246,7 +246,7 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_1x2v_ser_p1(const double *vmap, GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, + const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double *vmap, const double q_, const double m_, @@ -254,7 +254,7 @@ GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_2x2v_ser_p1(const double *vmap, GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, + const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); GKYL_CU_DH double dg_gyrokinetic_add_apardot_vol_3x2v_ser_p1(const double *vmap, const double q_, const double m_, diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 08566c6227..569574c836 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -21,8 +21,8 @@ typedef double (*dg_gyrokinetic_vol_es_t)(const double *w, const double *dxv, typedef double (*dg_gyrokinetic_vol_add_apar_t)(const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, - const double *bmag, const double *jacobtot_inv, const double *b_i, const double *phi, - const double *apar, const double *fin, double* GKYL_RESTRICT out); + const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, + const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out); typedef double (*dg_gyrokinetic_vol_add_apardot_t)(const double *vmap, const double q_, const double m_, @@ -104,7 +104,8 @@ kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const const double *vm = (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx); const double *vm_sq = (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx); const double *bmag = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx); - const double *jacobtot_inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx); + // const double *jacobtot_inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx);gk_geom->geo_int.bmag_nodal + const double *jacobtot_inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bmag_inv, cidx); const double *b_i = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx); const double *dualcurlbhatoverB = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx); const double *rtg33inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx); @@ -115,7 +116,7 @@ kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const bmag, phi, dualcurlbhatoverB, rtg33inv, bioverJB, qIn, qRhsOut); // Add Apar contribution to volume term if needed. cfl += gyrokinetic->vol_add_apar_kernel(xc, dx, vm, vm_sq, gyrokinetic->charge, gyrokinetic->mass, - bmag, jacobtot_inv, b_i, phi, apar, qIn, qRhsOut); + bmag, jacobtot_inv, dualcurlbhatoverB, bioverJB, b_i, phi, apar, qIn, qRhsOut); // Add Apardot contribution to volume term if needed. cfl += gyrokinetic->vol_add_apardot_kernel( vm, gyrokinetic->charge, gyrokinetic->mass, apardot, qIn, qRhsOut); @@ -126,7 +127,7 @@ kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const GKYL_CU_DH static double dg_gyrokinetic_add_apar_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) { return 0.; From 3ffc48538b151975278431871c4aba1cc6a6d85a Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 27 Feb 2026 08:41:31 -0500 Subject: [PATCH 109/181] add a coputation of the EM fiels at initial condition to write out Apardot and Apar at IC --- gyrokinetic/apps/gyrokinetic.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 09b07daca7..60be812ff9 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -926,10 +926,12 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) // Compute the fields and apply BCs. struct gkyl_array *distf[app->num_species]; + struct gkyl_array *distfdot[app->num_species]; struct gkyl_array **bflux[app->num_species]; struct gkyl_array *distf_neut[app->num_neut_species]; for (int i=0; inum_species; ++i) { distf[i] = app->species[i].f; + distfdot[i] = app->species[i].f1; bflux[i] = app->species[i].bflux.f; } for (int i=0; inum_neut_species; ++i) { @@ -956,6 +958,18 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) // MF 2024/09/27/: Need the cast here for consistency. Fixing // this may require removing 'const' from a lot of places. gyrokinetic_calc_field_enabled(app, t0, (const struct gkyl_array **) distf, bflux); + + // This does not seem to work well when using multiple MPI processes. + // It benign because this will be overwritten by the first RHS calls. + if (app->field->is_em) { + gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); + gk_field_calc_apar_ic(app, app->field); + for (int i=0; inum_species; ++i) { + struct gk_species *gk_s = &app->species[i]; + gk_species_rhs_star(app, gk_s, distf[i], distfdot[i], bflux[i]); + } + gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); + } else { if (app->field->info.init_field_profile == 0) // Read the field. From 7fcc669444b61dd1b972ac18108f93bc713421f4 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 27 Feb 2026 08:54:33 -0500 Subject: [PATCH 110/181] set the kernel back to their original format (without zeroing out the problematic conf surf flux and vpar vol terms). --- .../dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c | 130 +++++++++--------- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 84 +++++------ ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 84 +++++------ gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 4 +- 4 files changed, 150 insertions(+), 152 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c index 100d9568df..d2f445577a 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c @@ -24,8 +24,6 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const double rdvpar2 = 2.0/dxv[3]; double rdmu2 = 2.0/dxv[4]; - double rdvpar2Sq = rdvpar2*rdvpar2; - double dvparSq = dxv[3]*dxv[3]; const double *b_x = &b_i[0]; const double *b_y = &b_i[8]; @@ -62,22 +60,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const hamil2[1] = hamil[32]*hamil[32]; double alphax[48] = {0.}; - alphax[0] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7]+0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[6]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[1] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[6]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[2] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[3] = (((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5])-0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[6]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5]+0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[4] = (((-(0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[0]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[6] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[7] = (((-(0.3061862178478971*apar[3]*hamil[4]*bioverJB_y[5])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[6]+0.3061862178478971*apar[2]*hamil[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[8] = (((-(0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[9] = (((-(0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[5]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[1]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[10] = (((-(0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[11] = (((-(0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32])-0.6846531968814573*apar[3]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[6]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[16] = (((-(0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[17] = (((-(0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[18] = (((-(0.6846531968814573*apar[3]*bioverJB_y[5]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[6]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[5]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[19] = (((-(0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[26] = (((-(0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[5]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[4]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[0] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7]+0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[6]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[6]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5])-0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[6]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5]+0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[4] = (((-(0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[0]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(0.3061862178478971*apar[3]*hamil[4]*bioverJB_y[5])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[6]+0.3061862178478971*apar[2]*hamil[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[8] = (((-(0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[9] = (((-(0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[5]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[1]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[10] = (((-(0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32])-0.6846531968814573*apar[3]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[6]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[16] = (((-(0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[17] = (((-(0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[18] = (((-(0.6846531968814573*apar[3]*bioverJB_y[5]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[6]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[5]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[19] = (((-(0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[26] = (((-(0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[5]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[4]*hamil[32])*rdx2)/vmap[1])/m_; out[1] += 0.3061862178478971*(alphax[26]*fin[26]+alphax[19]*fin[19]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[16]*fin[16]+alphax[11]*fin[11]+alphax[10]*fin[10]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -106,22 +104,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphax[1]*fin[47]+alphax[0]*fin[46]+alphax[6]*fin[45]+alphax[7]*fin[44]+alphax[2]*fin[42]+alphax[3]*fin[41]+alphax[16]*fin[40]+alphax[8]*fin[36])+0.273861278752583*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[17]*fin[29]+alphax[18]*fin[28]+fin[23]*alphax[26]+alphax[10]*fin[25]+alphax[11]*fin[24]+fin[15]*alphax[19]); double alphay[48] = {0.}; - alphay[0] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[1] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_z[5])-0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[2] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[3] = (((0.3061862178478971*hamil[4]*apar[5]*bioverJB_x[5]+0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[5])-0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[4] = (((0.6846531968814573*bioverJB_x[1]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[0]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[6] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7])-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[7] = (((0.3061862178478971*apar[3]*hamil[4]*bioverJB_x[5]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[5])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*hamil[4]*bioverJB_z[5])-0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[8] = (((0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[9] = (((0.6846531968814573*bioverJB_x[0]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[5]*bioverJB_z[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[1]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[10] = (((0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[11] = (((0.6846531968814573*apar[5]*bioverJB_x[5]*hamil[32]+0.6846531968814573*apar[3]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[16] = (((0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7])-0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[17] = (((0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[18] = (((0.6846531968814573*apar[3]*bioverJB_x[5]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[5]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[1]*bioverJB_z[5]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[19] = (((0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[26] = (((0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32])-0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[4]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[0] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[1] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_z[5])-0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[2] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[3] = (((0.3061862178478971*hamil[4]*apar[5]*bioverJB_x[5]+0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[5])-0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[4] = (((0.6846531968814573*bioverJB_x[1]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[0]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[6] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7])-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[7] = (((0.3061862178478971*apar[3]*hamil[4]*bioverJB_x[5]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[5])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*hamil[4]*bioverJB_z[5])-0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[8] = (((0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[9] = (((0.6846531968814573*bioverJB_x[0]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[5]*bioverJB_z[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[1]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[10] = (((0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[11] = (((0.6846531968814573*apar[5]*bioverJB_x[5]*hamil[32]+0.6846531968814573*apar[3]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[16] = (((0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7])-0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[17] = (((0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[18] = (((0.6846531968814573*apar[3]*bioverJB_x[5]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[5]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[1]*bioverJB_z[5]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[19] = (((0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[26] = (((0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32])-0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[4]*hamil[32])*rdy2)/vmap[1])/m_; out[2] += 0.3061862178478971*(alphay[26]*fin[26]+alphay[19]*fin[19]+alphay[18]*fin[18]+alphay[17]*fin[17]+alphay[16]*fin[16]+alphay[11]*fin[11]+alphay[10]*fin[10]+alphay[9]*fin[9]+alphay[8]*fin[8]+alphay[7]*fin[7]+alphay[6]*fin[6]+alphay[4]*fin[4]+alphay[3]*fin[3]+alphay[2]*fin[2]+alphay[1]*fin[1]+alphay[0]*fin[0]); @@ -150,22 +148,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphay[2]*fin[47]+alphay[6]*fin[46]+alphay[0]*fin[45]+alphay[8]*fin[44]+alphay[1]*fin[42]+alphay[16]*fin[41]+alphay[3]*fin[40]+alphay[7]*fin[36])+0.273861278752583*(alphay[10]*fin[31]+alphay[17]*fin[30]+alphay[4]*fin[29]+alphay[19]*fin[28]+fin[24]*alphay[26]+alphay[9]*fin[25]+alphay[11]*fin[23]+fin[15]*alphay[18]); double alphaz[48] = {0.}; - alphaz[0] = (((-(0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7])-0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6]-0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[1] = (((-(0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5]+0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[2] = (((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[3] = (((-(0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6]-0.3061862178478971*apar[4]*hamil[4]*bioverJB_x[5]-0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5]+0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[4] = (((-(0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[0]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[6] = (((0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[7] = (((-(0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6]-0.3061862178478971*apar[2]*hamil[4]*bioverJB_x[5]-0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*hamil[4]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[8] = (((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[9] = (((-(0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[1]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[10] = (((0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[11] = (((-(0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32]-0.6846531968814573*apar[4]*bioverJB_x[5]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[16] = (((0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[17] = (((0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[18] = (((-(0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[5]*hamil[32]-0.6846531968814573*bioverJB_x[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[1]*bioverJB_y[5]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[19] = (((0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[26] = (((0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_y[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[4]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[0] = (((-(0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7])-0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6]-0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[1] = (((-(0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5]+0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[3] = (((-(0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6]-0.3061862178478971*apar[4]*hamil[4]*bioverJB_x[5]-0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5]+0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[4] = (((-(0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[0]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[6] = (((0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[7] = (((-(0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6]-0.3061862178478971*apar[2]*hamil[4]*bioverJB_x[5]-0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*hamil[4]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[8] = (((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[9] = (((-(0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[1]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[10] = (((0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[11] = (((-(0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32]-0.6846531968814573*apar[4]*bioverJB_x[5]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[16] = (((0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[17] = (((0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[18] = (((-(0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[5]*hamil[32]-0.6846531968814573*bioverJB_x[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[1]*bioverJB_y[5]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[19] = (((0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[26] = (((0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_y[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[4]*hamil[32])*rdz2)/vmap[1])/m_; out[3] += 0.3061862178478971*(alphaz[26]*fin[26]+alphaz[19]*fin[19]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[16]*fin[16]+alphaz[11]*fin[11]+alphaz[10]*fin[10]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -194,22 +192,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphaz[3]*fin[47]+alphaz[7]*fin[46]+alphaz[8]*fin[45]+alphaz[0]*fin[44]+alphaz[16]*fin[42]+alphaz[1]*fin[41]+alphaz[2]*fin[40]+alphaz[6]*fin[36])+0.273861278752583*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[19]*fin[29]+alphaz[4]*fin[28]+fin[25]*alphaz[26]+alphaz[9]*fin[24]+alphaz[10]*fin[23]+fin[15]*alphaz[17]); double alphavpar[48] = {0.}; - alphavpar[0] = (((-(0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[16])-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_x[5]*hamil[8]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[7]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[7]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[7]+0.3061862178478971*bioverJB_y[1]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[5]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[5]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[3]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[7]-0.1767766952966368*hamil[3]*apar[5]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[8]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[7]+0.3061862178478971*apar[5]*bioverJB_z[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[5]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[4]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[2]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[2]*apar[5]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[16]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[5]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[1] = (((-(0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[16])-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[16]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[8]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[8]+0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[7]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[7]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[7]-0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[6]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[7]+0.3061862178478971*bioverJB_y[0]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[6]-0.3061862178478971*hamil[3]*apar[5]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[3]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[7]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[7]-0.1767766952966368*apar[3]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[7]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[7]+0.3061862178478971*bioverJB_z[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[6]+0.3061862178478971*hamil[2]*apar[5]*bioverJB_z[5]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[4]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[2]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[6]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[6]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[2] = (((0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[8]-0.3061862178478971*bioverJB_x[0]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[8]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[7]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[16]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[7]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[7]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[7]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[3] = (((-(0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[7]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[6]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[6]-0.3061862178478971*hamil[2]*apar[5]*bioverJB_x[5]+0.3061862178478971*hamil[3]*apar[4]*bioverJB_x[5]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[3]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[16]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[7]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[5]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[6]+0.3061862178478971*hamil[1]*apar[5]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[3]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[7]-0.1767766952966368*apar[1]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[8]-0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[7]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[6]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[6]-0.3061862178478971*hamil[1]*apar[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[5]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[3]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[3])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[5]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[6]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[5]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; - alphavpar[5] = (((0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[21]-0.3061862178478971*bioverJB_z[5]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[6] = (((0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[8]-0.5511351921262146*bioverJB_x[1]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[8]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[7]-0.3061862178478971*hamil[3]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[16]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[8]+0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[5]*apar[7]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[7] = (((-(0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[8]+0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[7]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[7]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[7]-0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[6]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[6]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[6]+0.3061862178478971*apar[2]*hamil[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[5]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[8]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[7]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[3]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[6]-0.3061862178478971*apar[1]*hamil[3]*bioverJB_y[5]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[5]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[7]-0.1767766952966368*apar[0]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[5]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[16]+0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[8]-0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[6]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[6]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[5]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[5]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*apar[5]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[6]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[5]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[6]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[5]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; - alphavpar[8] = (((0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[16]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[16]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[8]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[8]-0.3061862178478971*bioverJB_x[3]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[16])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[8]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[7]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[7]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[7]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[6]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[6]-0.1767766952966368*hamil[3]*apar[4]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[3])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[6]-0.1767766952966368*hamil[2]*apar[4]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[3])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[4]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[3])*rdx2)/vmap[1])/m_; - alphavpar[12] = (((0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[21]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[21]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[21]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[13] = (((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[21]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[14] = (((0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[14]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[21])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[14]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[12]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[12]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[16] = (((0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[8]-0.5511351921262146*bioverJB_x[5]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[7]-0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[16])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[7]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[7]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[6]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[6]-0.3061862178478971*hamil[3]*apar[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[7]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[6]-0.1767766952966368*apar[2]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[4])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[6]+0.3061862178478971*hamil[2]*apar[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*dualcurlbhatoverB_y[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[6]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[6]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[4])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[4])*rdx2)/vmap[1])/m_; - alphavpar[20] = (((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[21]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[21] = (((0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[21]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[21])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[14]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[22] = (((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[14]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[12]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[27] = (((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[14]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[14]+0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[21]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[0] = (((-(0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[16])-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_x[5]*hamil[8]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[7]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[7]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[7]+0.3061862178478971*bioverJB_y[1]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[5]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[5]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[3]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[7]-0.1767766952966368*hamil[3]*apar[5]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[3]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[8]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[7]+0.3061862178478971*apar[5]*bioverJB_z[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[5]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[4]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[2]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[2]*apar[5]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_x[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[2]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[16]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[5]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_z[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[1]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((-(0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[16])-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[16]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[8]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[8]+0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[7]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[7]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[7]-0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[6]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[7]+0.3061862178478971*bioverJB_y[0]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[6]-0.3061862178478971*hamil[3]*apar[5]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[3]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[7]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[7]-0.1767766952966368*apar[3]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[7]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[7]+0.3061862178478971*bioverJB_z[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[6]+0.3061862178478971*hamil[2]*apar[5]*bioverJB_z[5]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[4]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[2]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[6]-0.31819805153394626*apar[1]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[6]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[2]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[1]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[8]-0.3061862178478971*bioverJB_x[0]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[8]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[7]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[16]-0.1767766952966368*apar[5]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_y[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[7]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[7]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[5]*apar[7]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[3] = (((-(0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[7]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[6]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[6]-0.3061862178478971*hamil[2]*apar[5]*bioverJB_x[5]+0.3061862178478971*hamil[3]*apar[4]*bioverJB_x[5]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[3]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[16]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[7]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[5]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[6]+0.3061862178478971*hamil[1]*apar[5]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[3]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[7]-0.1767766952966368*apar[1]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[8]-0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[7]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[6]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[6]-0.3061862178478971*hamil[1]*apar[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[5]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[3]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[3])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[8]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[5]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[6]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[5]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_z[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[21]-0.3061862178478971*bioverJB_z[5]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[6] = (((0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[8]-0.5511351921262146*bioverJB_x[1]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[8]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[7]-0.3061862178478971*hamil[3]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[16]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_y[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[8]+0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[5]*apar[7]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[5]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[7] = (((-(0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[8]+0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[7]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[7]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[7]-0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[6]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[6]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[6]+0.3061862178478971*apar[2]*hamil[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[5]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[8]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[7]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[3]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[6]-0.3061862178478971*apar[1]*hamil[3]*bioverJB_y[5]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[5]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[7]-0.1767766952966368*apar[0]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[5]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[16]+0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[8]-0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[6]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[6]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[5]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[5]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*apar[5]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_x[5]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[6]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[5]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[6]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[5]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_z[3]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[16]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[16]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[8]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[8]-0.3061862178478971*bioverJB_x[3]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[16])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[8]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[7]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[7]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[7]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[6]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[6]-0.1767766952966368*hamil[3]*apar[4]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[3])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[6]-0.1767766952966368*hamil[2]*apar[4]*dualcurlbhatoverB_x[5]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_x[3])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[4]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_z[3])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[21]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[21]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[21])-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[21]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[13] = (((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[21]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[14] = (((0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[14]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[21])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[14]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[12]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[12]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[16] = (((0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[8]-0.5511351921262146*bioverJB_x[5]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[7]-0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[16])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[7]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[7]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[6]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[6]-0.3061862178478971*hamil[3]*apar[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[7]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[6]-0.1767766952966368*apar[2]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[4])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[6]+0.3061862178478971*hamil[2]*apar[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*dualcurlbhatoverB_x[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[6]-0.31819805153394626*apar[4]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[6]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[4])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[4])*rdx2)/vmap[1])/m_; + alphavpar[20] = (((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[21]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[21] = (((0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[21]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[21])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[14]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[22] = (((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[14]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[12]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[27] = (((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[14]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[14]+0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[21]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[3]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[12])*rdx2)/vmap[1])/m_; out[4] += 0.3061862178478971*(alphavpar[27]*fin[27]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[16]*fin[16]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index 6357925048..c9f2ca2ad9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -118,9 +118,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -133,9 +133,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -160,9 +160,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[2].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -175,9 +175,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -202,9 +202,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[3].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -217,9 +217,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -244,9 +244,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[4].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -259,9 +259,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -286,9 +286,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[5].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -301,9 +301,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -328,9 +328,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[6].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -343,9 +343,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -370,9 +370,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[7].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -385,9 +385,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index 638edf4c49..3dd040864b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -120,9 +120,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[1].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -136,9 +136,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -164,9 +164,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[2].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -180,9 +180,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -208,9 +208,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[3].mag_e_3; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -224,9 +224,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -252,9 +252,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[4].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -268,9 +268,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -296,9 +296,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[5].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -312,9 +312,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -340,9 +340,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[6].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -356,9 +356,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -384,9 +384,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( mag_e_3 = gkdgv[7].mag_e_3; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -400,9 +400,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 569574c836..4d84488a12 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -104,8 +104,8 @@ kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const const double *vm = (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap, vidx); const double *vm_sq = (const double*) gkyl_array_cfetch(gyrokinetic->vel_map->vmap_sq, vidx); const double *bmag = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_corn.bmag, cidx); - // const double *jacobtot_inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx);gk_geom->geo_int.bmag_nodal - const double *jacobtot_inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bmag_inv, cidx); + // The jacobtot_inv is not used anymore. + const double *jacobtot_inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.jacobtot_inv, cidx); const double *b_i = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.b_i, cidx); const double *dualcurlbhatoverB = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.dualcurlbhatoverB, cidx); const double *rtg33inv = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.rtg33inv, cidx); From da74b08e524a17754c85cf11ea961888a6d400a4 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 27 Feb 2026 08:56:51 -0500 Subject: [PATCH 111/181] create a unit test for the helmholtz perp solver (Poisson perp with kSq). The test checks are not set up yet. The setup works well and convergence of order 2 is observed in various cases. --- gyrokinetic/unit/ctest_fem_helmholtz_perp.c | 715 ++++++++++++++++++++ 1 file changed, 715 insertions(+) create mode 100644 gyrokinetic/unit/ctest_fem_helmholtz_perp.c diff --git a/gyrokinetic/unit/ctest_fem_helmholtz_perp.c b/gyrokinetic/unit/ctest_fem_helmholtz_perp.c new file mode 100644 index 0000000000..25ffb0b0ed --- /dev/null +++ b/gyrokinetic/unit/ctest_fem_helmholtz_perp.c @@ -0,0 +1,715 @@ +// Test the perpendicular FEM Helmholtz solver with a nonzero kSq, +// essentially solving the Helmholtz equation: +// - nabla . (epsilon * nabla phi) + kSq * phi = rho +// using the gkyl_fem_poisson_perp struct. +// +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static double error_L2norm(struct gkyl_rect_grid grid, struct gkyl_range range, + struct gkyl_basis basis, struct gkyl_array* field1, struct gkyl_array* field2) +{ + // Compute the L2 norm of the difference between 2 fields. + assert(field1->ncomp == field2->ncomp); + assert(field1->size == field2->size); + + struct gkyl_array *diff = gkyl_array_new(GKYL_DOUBLE, field1->ncomp, field1->size); + gkyl_array_copy(diff, field1); + gkyl_array_accumulate(diff, -1.0, field2); + + struct gkyl_array *l2_cell = gkyl_array_new(GKYL_DOUBLE, 1, field1->size); + gkyl_dg_calc_l2_range(basis, 0, l2_cell, 0, diff, range); + gkyl_array_scale_range(l2_cell, grid.cellVolume, &range); + + double l2[1]; + gkyl_array_reduce_range(l2, l2_cell, GKYL_SUM, &range); + + gkyl_array_release(diff); + gkyl_array_release(l2_cell); + return sqrt(l2[0]); +} + +static struct gkyl_array* +mkarr(bool use_gpu, long nc, long size) +{ + // allocate array (filled with zeros) + struct gkyl_array* a = use_gpu? gkyl_array_cu_dev_new(GKYL_DOUBLE, nc, size) + : gkyl_array_new(GKYL_DOUBLE, nc, size); + return a; +} + +// We want to test the solution to the Helmholtz equation: -d^2(phi)/dx^2 - kSq*phi = rho + +static double ksquare() { return 20.0; } // To get kSq everywhere in one place for easy editing. +static double x_dirichletbc_lo() { return 0.0; } // to set BC values in one place for easy editing. +static double x_dirichletbc_up() { return 0.5; } // Only effective for 2x problem. + +static double p1_func(double x) +{ + // This is a linear polynomial that is compatible with the BCs above. (assumes domain is [0,1]) + double a = -ksquare()*x_dirichletbc_lo(); + double b = -ksquare()*x_dirichletbc_up(); + return (b - a)*x + a; +} + +static void evalFunc_ksquare(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + fout[0] = ksquare(); + // fout[0] *= cos(2*M_PI*x); + // fout[0] *= exp(4*M_PI*y); + // fout[0] *= sin(z)+2; + // noise: + fout[0] *= 1. + 1e-7*cos(2*M_PI*x)*exp(4*M_PI*y)*(sin(z)+2); +} + +// RHS: rho(x,z) = (1.+kz*z+0.5*pow(z,2)) * sum_{m=1}^2 b_m sin(2*pi*m*x) +void evalFunc_rhs_dirichletx_2x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], z = xn[1]; + // These values have to match those in the test below. + double bmn[] = {1.5, 1.5, -0.5}; + fout[0] = 0.; + for (int m=1; m<3; m++) { + double b = bmn[m-1]; + double t2 = b*sin(2*M_PI*m*x); + fout[0] += t2; + } + double kz = 1.; + fout[0] *= (1.+kz*z+0.5*pow(z,2)); + + // fout[0] *= 0.0; // To test exact integration (linear polynomial) + fout[0] += p1_func(x); +} +// Solution: phi(x,z) = (1.+kz*z+0.5*pow(z,2)) * sum_{m=1}^2 b_m*sin(2*pi*m*x)/( (2*pi*m)^2 - kSq ) +void evalFunc_sol_dirichletx_2x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], z = xn[1]; + // These values have to match those in the test below. + double bmn[] = {1.5, 1.5, -0.5}; + fout[0] = 0.; + for (int m=1; m<3; m++) { + double b = bmn[m-1]; + double kx = 2*M_PI*m; + double t2 = b*sin(kx*x)/(kx*kx - ksquare()); + fout[0] += t2; + } + double kz = 1.; + fout[0] *= (1.+kz*z+0.5*pow(z,2)); + + // fout[0] *= 0.0; // To test exact integration (linear polynomial) + fout[0] += -p1_func(x)/ksquare(); +} +// Periodic case (This is not suitable for convergence test as it leaves a constant offset in the solution) +void evalFunc_rhs_periodicx_2x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], z = xn[1]; + // These values have to match those in the test below. + double gxx = 1.0; + double amn[] = {-0.6, -2., 1.5}; + double bmn[] = { 1., 0.7, -0.3}; + fout[0] = 0.; + for (int m=1; m<3; m++) { + double a = amn[m-1]; + double b = bmn[m-1]; + double kx = 2*M_PI*m; + double t1 = a*cos(kx*x); + double t2 = b*sin(kx*x); + fout[0] += t1+t2; + } + double kz = 0.; + fout[0] *= (1.+kz*z); + +} +void evalFunc_sol_periodicx_2x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], z = xn[1]; + // These values have to match those in the test below. + double amn[] = {-0.6, -2., 1.5}; + double bmn[] = { 1., 0.7, -0.3}; + fout[0] = 0.; + for (int m=1; m<3; m++) { + double a = amn[m-1]; + double b = bmn[m-1]; + double kx = 2*M_PI*m; + double t1 = a*cos(kx*x)/(kx*kx - ksquare()); + double t2 = b*sin(kx*x)/(kx*kx - ksquare()); + fout[0] += t1+t2; + } + double kz = 0.; + fout[0] *= (1.+kz*z); +} + +// 3x cases +// RHS: rho(x,z) = (1.+kz*z+0.5*pow(z,2)) * sum_{m=1}^2 b_m sin(2*pi*m*x) +void evalFunc_rhs_dirichletx_dirichlety_3x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + // These values have to match those in the test below. + double bmn[] = {0.2, 0.5, -0.5}; + fout[0] = 0.; + for (int m=1; m<3; m++) { + double b = bmn[m-1]; + double kx = 2*M_PI*m; + double ky = 2*M_PI; + double t2 = b*sin(kx*x) * sin(ky*y); + fout[0] += t2; + } + double kz = 1.; + fout[0] *= (1.+kz*z+0.5*pow(z,2)); +} +// Solution: phi(x,z) = (1.+kz*z+0.5*pow(z,2)) * sum_{m=1}^2 b_m*sin(2*pi*m*x)/( (2*pi*m)^2 - kSq ) +void evalFunc_sol_dirichletx_dirichlety_3x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + // These values have to match those in the test below. + double bmn[] = {0.2, 0.5, -0.5}; + fout[0] = 0.; + for (int m=1; m<3; m++) { + double b = bmn[m-1]; + double kx = 2*M_PI*m; + double ky = 2*M_PI; + double t2 = b*sin(kx*x) * sin(ky*y)/(kx*kx + ky*ky - ksquare()); + fout[0] += t2; + } + double kz = 1.; + fout[0] *= (1.+kz*z+0.5*pow(z,2)); +} + +double trig_func(double x, double y, bool laplacian) +{ + double amn[] = {0.0, -1., 0., -0.0}; + double out = 0.; + for (int m=0; m<4; m++) { + double a = amn[m]; + double kx = M_PI*m; + double ky = 2*M_PI*m*0; + double t2 = a*cos(ky*y); + if (m > 0) + t2 *= sin(kx*x); + + if (laplacian) { + t2 *= -(kx*kx + ky*ky); + } + out += t2; + } + return out; +} + +double z_envelope(double z) +{ + double kz = 1.; + return 1.0; +} + +void evalFunc_sol_dirichletx_periodicy_3x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + fout[0] = trig_func(x,y,false); + fout[0] *= z_envelope(z); +} + +// Periodic case (This is not suitable for convergence test as it leaves a constant offset in the solution) +void evalFunc_rhs_dirichletx_periodicy_3x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + double kSq[1]; + evalFunc_ksquare(t, xn, kSq, ctx); + double fsol[1]; + evalFunc_sol_dirichletx_periodicy_3x(t, xn, fsol, ctx); + fout[0] = -trig_func(x,y,true)*z_envelope(z) - kSq[0]*fsol[0]; +} + +void +test_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisson_bc bcs, bool use_gpu) +{ + double epsilon_0 = 1.0; + double kSq = ksquare(); // Helmholtz wave number squared. + + double lower[] = {0.0, -M_PI}, upper[] = {1.0, M_PI}; + int dim = sizeof(lower)/sizeof(lower[0]); + int dim_perp = dim - 1; + + // Grids. + struct gkyl_rect_grid grid; + gkyl_rect_grid_init(&grid, dim, lower, upper, cells); + + // Basis functions. + struct gkyl_basis basis; + gkyl_cart_modal_serendip(&basis, dim, poly_order); + + int ghost[] = { 1, 1 }; + struct gkyl_range localRange, localRange_ext; // local, local-ext ranges. + gkyl_create_grid_ranges(&grid, ghost, &localRange_ext, &localRange); + + // Projection updater for DG field. + gkyl_proj_on_basis *projob = NULL, *projob_sol = NULL; + if ((bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET)) { + projob = gkyl_proj_on_basis_new(&grid, &basis, + poly_order + 1, 1, evalFunc_rhs_dirichletx_2x, NULL); + projob_sol = gkyl_proj_on_basis_new(&grid, &basis, + poly_order + 1, 1, evalFunc_sol_dirichletx_2x, NULL); + } else if ((bcs.lo_type[0] == GKYL_POISSON_PERIODIC && bcs.up_type[0] == GKYL_POISSON_PERIODIC)) { + projob = gkyl_proj_on_basis_new(&grid, &basis, + poly_order + 1, 1, evalFunc_rhs_periodicx_2x, NULL); + projob_sol = gkyl_proj_on_basis_new(&grid, &basis, + poly_order + 1, 1, evalFunc_sol_periodicx_2x, NULL); + } + + // Create DG field we wish to make continuous. + struct gkyl_array *rho = mkarr(use_gpu, basis.num_basis, localRange_ext.volume); + // Create array holding continuous field we'll compute. + struct gkyl_array *phi = mkarr(use_gpu, basis.num_basis, localRange_ext.volume); + // Create DG field for permittivity tensor (1 component for 1D perp). + int epsnum = dim_perp + (int)ceil((pow(3., dim_perp - 1) - dim_perp) / 2); + struct gkyl_array *eps = mkarr(use_gpu, epsnum * basis.num_basis, localRange_ext.volume); + // Create DG field for kSq. + struct gkyl_array *kSqFld = mkarr(use_gpu, basis.num_basis, localRange_ext.volume); + // Analytic solution. + struct gkyl_array *phisol_ho = mkarr(false, basis.num_basis, localRange_ext.volume); + // Device copies: + struct gkyl_array *rho_ho, *phi_ho; + if (use_gpu) { + rho_ho = mkarr(false, rho->ncomp, rho->size); + phi_ho = mkarr(false, phi->ncomp, phi->size); + } else { + rho_ho = gkyl_array_acquire(rho); + phi_ho = gkyl_array_acquire(phi); + } + + // Project RHS charge density on basis. + gkyl_proj_on_basis_advance(projob, 0.0, &localRange, rho_ho); + gkyl_array_copy(rho, rho_ho); + + // Project the permittivity onto the basis. + double dg0norm = pow(sqrt(2.), dim); + gkyl_array_shiftc(eps, epsilon_0 * dg0norm, 0 * basis.num_basis); + + // Project kSq onto the basis. + gkyl_array_shiftc(kSqFld, kSq * dg0norm, 0); + + // Project the analytic solution. + gkyl_proj_on_basis_advance(projob_sol, 0.0, &localRange, phisol_ho); + + // FEM Helmholtz solver. + struct gkyl_fem_poisson_perp *poisson = gkyl_fem_poisson_perp_new(&localRange, &grid, basis, + &bcs, eps, kSqFld, use_gpu); + + // Set the RHS source. + gkyl_fem_poisson_perp_set_rhs(poisson, rho); + + // Solve the problem. + gkyl_fem_poisson_perp_solve(poisson, phi); + gkyl_array_copy(phi_ho, phi); + +#ifdef GKYL_HAVE_CUDA + if (use_gpu) cudaDeviceSynchronize(); +#endif + + // Write data to text file for visualization (Python notebook can read this) + FILE *fp = fopen("helmholtz_2x_results.txt", "w"); + if (fp) { + fprintf(fp, "# x z phi_numerical phi_analytical\n"); + struct gkyl_range_iter iter; + gkyl_range_iter_init(&iter, &localRange); + while (gkyl_range_iter_next(&iter)) { + double xc[2]; + gkyl_rect_grid_cell_center(&grid, iter.idx, xc); + long loc = gkyl_range_idx(&localRange, iter.idx); + const double *phi_p = gkyl_array_cfetch(phi_ho, loc); + const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); + // Write cell center coordinates and the 0th basis coefficient (cell average) + fprintf(fp, "%.16e %.16e %.16e %.16e\n", xc[0], xc[1], phi_p[0]/dg0norm, phisol_p[0]/dg0norm); + } + fclose(fp); + } + + // Write parameters file for visualization. + fp = fopen("helmholtz_2x_params.txt", "w"); + if (fp) { + fprintf(fp, "lower: %.16e %.16e\n", lower[0], lower[1]); + fprintf(fp, "upper: %.16e %.16e\n", upper[0], upper[1]); + fprintf(fp, "cells: %d %d\n", cells[0], cells[1]); + fprintf(fp, "poly_order: %d\n", poly_order); + fprintf(fp, "kSq: %.16e\n", kSq); + fprintf(fp, "epsilon_0: %.16e\n", epsilon_0); + fclose(fp); + } + + // Write parameters file for visualization. + fp = fopen("helmholtz_2x_params.txt", "w"); + if (fp) { + fprintf(fp, "lower: %.16e %.16e\n", lower[0], lower[1]); + fprintf(fp, "upper: %.16e %.16e\n", upper[0], upper[1]); + fprintf(fp, "cells: %d %d\n", cells[0], cells[1]); + fprintf(fp, "poly_order: %d\n", poly_order); + fprintf(fp, "kSq: %.16e\n", kSq); + fprintf(fp, "epsilon_0: %.16e\n", epsilon_0); + fclose(fp); + } + + double errL2 = error_L2norm(grid, localRange, basis, phi_ho, phisol_ho); + printf("\nerror L2 norm = %g\n",errL2); + + // Compare solution to analytic result. + struct gkyl_range_iter iter; + gkyl_range_iter_init(&iter, &localRange); + while (gkyl_range_iter_next(&iter)) { + long loc = gkyl_range_idx(&localRange, iter.idx); + const double *phi_p = gkyl_array_cfetch(phi_ho, loc); + const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); + for (int m = 0; m < basis.num_basis; m++) { + // TEST_CHECK( gkyl_compare(phisol_p[m], phi_p[m], 1e-10) ); + // TEST_MSG("Expected: %.13e in cell (%d,%d)", phisol_p[m], iter.idx[0], iter.idx[1]); + // TEST_MSG("Produced: %.13e", phi_p[m]); + } + } + + gkyl_fem_poisson_perp_release(poisson); + gkyl_proj_on_basis_release(projob); + gkyl_proj_on_basis_release(projob_sol); + gkyl_array_release(rho); + gkyl_array_release(eps); + gkyl_array_release(kSqFld); + gkyl_array_release(phi); + gkyl_array_release(phisol_ho); + gkyl_array_release(rho_ho); + gkyl_array_release(phi_ho); +} + +void +test_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisson_bc bcs, bool use_gpu) +{ + double epsilon_0 = 1.0; + double kSq = ksquare(); // Helmholtz wave number squared. + + double lower[] = {0.0, 0.0, -M_PI}, upper[] = {1.0, 1.0, M_PI}; + int dim = sizeof(lower)/sizeof(lower[0]); + int dim_perp = dim - 1; + + // Grids. + struct gkyl_rect_grid grid; + gkyl_rect_grid_init(&grid, dim, lower, upper, cells); + + // Basis functions. + struct gkyl_basis basis; + gkyl_cart_modal_serendip(&basis, dim, poly_order); + + int ghost[] = { 1, 1, 1 }; + struct gkyl_range localRange, localRange_ext; // local, local-ext ranges. + gkyl_create_grid_ranges(&grid, ghost, &localRange_ext, &localRange); + + // Projection updater for DG field. + gkyl_proj_on_basis *projob = NULL, *projob_sol = NULL, *projob_kSq = NULL; + if ((bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET) && + (bcs.lo_type[1] == GKYL_POISSON_DIRICHLET && bcs.up_type[1] == GKYL_POISSON_DIRICHLET)) { + projob = gkyl_proj_on_basis_new(&grid, &basis, + poly_order + 1, 1, evalFunc_rhs_dirichletx_dirichlety_3x, NULL); + projob_sol = gkyl_proj_on_basis_new(&grid, &basis, + 2 * (poly_order + 1), 1, evalFunc_sol_dirichletx_dirichlety_3x, NULL); + } else if ((bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET) && + (bcs.lo_type[1] == GKYL_POISSON_PERIODIC && bcs.up_type[1] == GKYL_POISSON_PERIODIC)) { + projob = gkyl_proj_on_basis_new(&grid, &basis, + poly_order + 1, 1, evalFunc_rhs_dirichletx_periodicy_3x, NULL); + projob_sol = gkyl_proj_on_basis_new(&grid, &basis, + 2 * (poly_order + 1), 1, evalFunc_sol_dirichletx_periodicy_3x, NULL); + } + projob_kSq = gkyl_proj_on_basis_new(&grid, &basis, + 2 * (poly_order + 1), 1, evalFunc_ksquare, NULL); + + // Create DG field we wish to make continuous. + struct gkyl_array *rho = mkarr(use_gpu, basis.num_basis, localRange_ext.volume); + // Create array holding continuous field we'll compute. + struct gkyl_array *phi = mkarr(use_gpu, basis.num_basis, localRange_ext.volume); + // Create DG field for permittivity tensor. + int epsnum = dim_perp + (int)ceil((pow(3., dim_perp - 1) - dim_perp) / 2); + struct gkyl_array *eps = mkarr(use_gpu, epsnum * basis.num_basis, localRange_ext.volume); + // Create DG field for kSq. + struct gkyl_array *kSqFld = mkarr(use_gpu, basis.num_basis, localRange_ext.volume); + // Analytic solution. + struct gkyl_array *phisol_ho = mkarr(false, basis.num_basis, localRange_ext.volume); + // Device copies: + struct gkyl_array *rho_ho, *phi_ho; + if (use_gpu) { + rho_ho = mkarr(false, rho->ncomp, rho->size); + phi_ho = mkarr(false, phi->ncomp, phi->size); + } else { + rho_ho = gkyl_array_acquire(rho); + phi_ho = gkyl_array_acquire(phi); + } + + // Project RHS charge density on basis. + gkyl_proj_on_basis_advance(projob, 0.0, &localRange, rho_ho); + gkyl_array_copy(rho, rho_ho); + + // Project the permittivity onto the basis. + double dg0norm = pow(sqrt(2.), dim); + gkyl_array_shiftc(eps, epsilon_0 * dg0norm, 0 * basis.num_basis); + gkyl_array_shiftc(eps, 0.0 * dg0norm, 1 * basis.num_basis); // gxy = 0 + gkyl_array_shiftc(eps, epsilon_0 * dg0norm, 2 * basis.num_basis); + + // Project kSq onto the basis. + // gkyl_array_shiftc(kSqFld, kSq * dg0norm, 0); + gkyl_proj_on_basis_advance(projob_kSq, 0.0, &localRange, kSqFld); + + // Project the analytic solution. + gkyl_proj_on_basis_advance(projob_sol, 0.0, &localRange, phisol_ho); + + // FEM Helmholtz solver. + struct gkyl_fem_poisson_perp *poisson = gkyl_fem_poisson_perp_new(&localRange, &grid, basis, + &bcs, eps, kSqFld, use_gpu); + + // Set the RHS source. + gkyl_fem_poisson_perp_set_rhs(poisson, rho); + + // Solve the problem. + gkyl_fem_poisson_perp_solve(poisson, phi); + gkyl_array_copy(phi_ho, phi); + +#ifdef GKYL_HAVE_CUDA + if (use_gpu) cudaDeviceSynchronize(); +#endif + + // Write data to text file for visualization (Python notebook can read this) + FILE *fp = fopen("helmholtz_3x_results.txt", "w"); + if (fp) { + fprintf(fp, "# x y z phi_numerical phi_analytical\n"); + struct gkyl_range_iter iter; + gkyl_range_iter_init(&iter, &localRange); + while (gkyl_range_iter_next(&iter)) { + double xc[3]; + gkyl_rect_grid_cell_center(&grid, iter.idx, xc); + long loc = gkyl_range_idx(&localRange, iter.idx); + const double *phi_p = gkyl_array_cfetch(phi_ho, loc); + const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); + // Write cell center coordinates and the 0th basis coefficient (cell average) + fprintf(fp, "%.16e %.16e %.16e %.16e %.16e\n", xc[0], xc[1], xc[2], phi_p[0]/dg0norm, phisol_p[0]/dg0norm); + } + fclose(fp); + } + + // Write parameters file for visualization. + fp = fopen("helmholtz_3x_params.txt", "w"); + if (fp) { + fprintf(fp, "lower: %.16e %.16e %.16e\n", lower[0], lower[1], lower[2]); + fprintf(fp, "upper: %.16e %.16e %.16e\n", upper[0], upper[1], upper[2]); + fprintf(fp, "cells: %d %d %d\n", cells[0], cells[1], cells[2]); + fprintf(fp, "poly_order: %d\n", poly_order); + fprintf(fp, "kSq: %.16e\n", kSq); + fprintf(fp, "epsilon_0: %.16e\n", epsilon_0); + fclose(fp); + } + + double errL2 = error_L2norm(grid, localRange, basis, phi_ho, phisol_ho); + printf("\nerror L2 norm = %g\n",errL2); + + // Compare solution to analytic result. + if (poly_order == 1) { + if ((bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET) && + (bcs.lo_type[1] == GKYL_POISSON_DIRICHLET && bcs.up_type[1] == GKYL_POISSON_DIRICHLET)) { + struct gkyl_range_iter iter; + gkyl_range_iter_init(&iter, &localRange); + while (gkyl_range_iter_next(&iter)) { + long loc = gkyl_range_idx(&localRange, iter.idx); + const double *phi_p = gkyl_array_cfetch(phi_ho, loc); + const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); + for (int m = 0; m < basis.num_basis; m++) { + TEST_CHECK( gkyl_compare(phisol_p[m], phi_p[m], 1e-10) ); + TEST_MSG("Expected: %.13e in cell (%d,%d,%d)", phisol_p[m], iter.idx[0], iter.idx[1], iter.idx[2]); + TEST_MSG("Produced: %.13e", phi_p[m]); + } + } + } else if ((bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET) && + (bcs.lo_type[1] == GKYL_POISSON_PERIODIC && bcs.up_type[1] == GKYL_POISSON_PERIODIC)) { + struct gkyl_range_iter iter; + gkyl_range_iter_init(&iter, &localRange); + while (gkyl_range_iter_next(&iter)) { + long loc = gkyl_range_idx(&localRange, iter.idx); + const double *phi_p = gkyl_array_cfetch(phi_ho, loc); + const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); + for (int m = 0; m < basis.num_basis; m++) { + TEST_CHECK( gkyl_compare(phisol_p[m], phi_p[m], 1e-10) ); + TEST_MSG("Expected: %.13e in cell (%d,%d,%d)", phisol_p[m], iter.idx[0], iter.idx[1], iter.idx[2]); + TEST_MSG("Produced: %.13e", phi_p[m]); + } + } + } else { + TEST_CHECK( gkyl_compare(1., 2., 1e-10) ); + TEST_MSG("This BC combination is not available"); + } + } else { + TEST_CHECK( gkyl_compare(1., 2., 1e-10) ); + TEST_MSG("This poly_order is not available"); + } + + gkyl_fem_poisson_perp_release(poisson); + gkyl_proj_on_basis_release(projob); + gkyl_proj_on_basis_release(projob_sol); + gkyl_proj_on_basis_release(projob_kSq); + gkyl_array_release(rho); + gkyl_array_release(eps); + gkyl_array_release(kSqFld); + gkyl_array_release(phi); + gkyl_array_release(phisol_ho); + gkyl_array_release(rho_ho); + gkyl_array_release(phi_ho); +} + +// 2x test wrappers +void test_2x_p1_dirichletx() { + // Read grid resolution from environment variables, or use defaults + int nx = 32, nz = 48; + char *env_nx = getenv("TEST_NX"); + char *env_nz = getenv("TEST_NZ"); + if (env_nx) nx = atoi(env_nx); + if (env_nz) nz = atoi(env_nz); + + int cells[] = {nx, nz}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_value[0].v[0] = x_dirichletbc_lo(); + bc_tv.up_value[0].v[0] = x_dirichletbc_up(); + test_fem_helmholtz_perp_2x(1, cells, bc_tv, false); +} + +void test_2x_p1_periodicx() { + // Read grid resolution from environment variables, or use defaults + int nx = 32, nz = 48; + char *env_nx = getenv("TEST_NX"); + char *env_nz = getenv("TEST_NZ"); + if (env_nx) nx = atoi(env_nx); + if (env_nz) nz = atoi(env_nz); + + int cells[] = {nx, nz}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_PERIODIC; + bc_tv.up_type[0] = GKYL_POISSON_PERIODIC; + bc_tv.lo_value[0].v[0] = 0.; + bc_tv.up_value[0].v[0] = 0.; + test_fem_helmholtz_perp_2x(1, cells, bc_tv, false); +} + + +// 3x test wrappers +void test_3x_p1_dirichletx_dirichlety() { + // Read grid resolution from environment variables, or use defaults + int nx = 32, ny = 16, nz = 2; + char *env_nx = getenv("TEST_NX"); + char *env_ny = getenv("TEST_NY"); + char *env_nz = getenv("TEST_NZ"); + if (env_nx) nx = atoi(env_nx); + if (env_ny) ny = atoi(env_ny); + if (env_nz) nz = atoi(env_nz); + + int cells[] = {nx, ny, nz}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_type[1] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[1] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_value[0].v[0] = 0.0; + bc_tv.up_value[0].v[0] = 0.0; + bc_tv.lo_value[1].v[0] = 0.0; + bc_tv.up_value[1].v[0] = 0.0; + test_fem_helmholtz_perp_3x(1, cells, bc_tv, false); +} + +void test_3x_p1_dirichletx_periodicy() { + // Read grid resolution from environment variables, or use defaults + int nx = 32, ny = 16, nz = 2; + char *env_nx = getenv("TEST_NX"); + char *env_ny = getenv("TEST_NY"); + char *env_nz = getenv("TEST_NZ"); + if (env_nx) nx = atoi(env_nx); + if (env_ny) ny = atoi(env_ny); + if (env_nz) nz = atoi(env_nz); + + int cells[] = {nx, ny, nz}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_type[1] = GKYL_POISSON_PERIODIC; + bc_tv.up_type[1] = GKYL_POISSON_PERIODIC; + bc_tv.lo_value[0].v[0] = 0.0; + bc_tv.up_value[0].v[0] = 0.0; + bc_tv.lo_value[1].v[0] = 0.; + bc_tv.up_value[1].v[0] = 0.; + test_fem_helmholtz_perp_3x(1, cells, bc_tv, false); +} + +#ifdef GKYL_HAVE_CUDA +void gpu_test_2x_p1_dirichletx() { + int cells[] = {8, 8}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_value[0].v[0] = 0.; + bc_tv.up_value[0].v[0] = 0.; + test_fem_helmholtz_perp_2x(1, cells, bc_tv, true); +} + +void gpu_test_2x_p1_periodicx() { + int cells[] = {8, 8}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_PERIODIC; + bc_tv.up_type[0] = GKYL_POISSON_PERIODIC; + bc_tv.lo_value[0].v[0] = 0.; + bc_tv.up_value[0].v[0] = 0.; + test_fem_helmholtz_perp_2x(1, cells, bc_tv, true); +} + +void gpu_test_3x_p1_dirichletx_dirichlety() { + int cells[] = {4, 4, 4}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_type[1] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[1] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_value[0].v[0] = 0.; + bc_tv.up_value[0].v[0] = 0.; + bc_tv.lo_value[1].v[0] = 0.; + bc_tv.up_value[1].v[0] = 0.; + test_fem_helmholtz_perp_3x(1, cells, bc_tv, true); +} + +void gpu_test_3x_p1_dirichletx_periodicy() { + int cells[] = {4, 4, 4}; + struct gkyl_poisson_bc bc_tv; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_type[1] = GKYL_POISSON_PERIODIC; + bc_tv.up_type[1] = GKYL_POISSON_PERIODIC; + bc_tv.lo_value[0].v[0] = 0.; + bc_tv.up_value[0].v[0] = 0.; + test_fem_helmholtz_perp_3x(1, cells, bc_tv, true); +} +#endif + +TEST_LIST = { + // 2x tests + { "test_2x_p1_dirichletx", test_2x_p1_dirichletx }, + { "test_2x_p1_periodicx", test_2x_p1_periodicx }, + + // 3x tests + { "test_3x_p1_dirichletx_dirichlety", test_3x_p1_dirichletx_dirichlety }, + { "test_3x_p1_dirichletx_periodicy", test_3x_p1_dirichletx_periodicy }, + +#ifdef GKYL_HAVE_CUDA + { "gpu_test_2x_p1_dirichletx", gpu_test_2x_p1_dirichletx }, + { "gpu_test_2x_p1_periodicx", gpu_test_2x_p1_periodicx }, + { "gpu_test_3x_p1_dirichletx_dirichlety", gpu_test_3x_p1_dirichletx_dirichlety }, + { "gpu_test_3x_p1_dirichletx_periodicy", gpu_test_3x_p1_dirichletx_periodicy }, +#endif + { NULL, NULL }, +}; From 29e0ae41ce75281f41eefd03d42a0b2914c14197 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 2 Mar 2026 05:58:34 -0800 Subject: [PATCH 112/181] manual fix to the previous merge with main, this branch compiles --- gyrokinetic/apps/gk_species.c | 8 ++++---- gyrokinetic/apps/gk_species_collisionless.c | 2 +- gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c | 2 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index b8c318f55b..ea7e8b6531 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -2040,9 +2040,9 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *gks gkyl_deflated_fem_poisson_release(gks->flr_op); } - gkyl_array_release(s->gyro_apar); - gkyl_array_release(s->gyro_apardot); - gk_species_moment_release(app, &s->m1); + gkyl_array_release(gks->gyro_apar); + gkyl_array_release(gks->gyro_apardot); + gk_species_moment_release(app, &gks->m1); - s->release_func(app, s); + gks->release_func(app, gks); } diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index b0cfbcf44b..a90773e655 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -206,7 +206,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); gkcls->slvr_em_star = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gks->info.skip_cell_threshold, gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, gks->vel_map, + gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); // Methods chosen at runtime. gkcls->flux_func_star = gk_species_collisionless_flux_star_enabled; // ES + Apar. diff --git a/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c index 6eeeefe4cb..2e35daa53d 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c @@ -400,7 +400,7 @@ int main(int argc, char **argv) .basis_type = app_args.basis_type, .geometry = { - .geometry_id = GKYL_MAPC2P, + .geometry_id = GKYL_GEOMETRY_MAPC2P, .mapc2p = mapc2p, // mapping of computational to physical space .c2p_ctx = &ctx, .bfield_func = bfield_func, // magnetic field diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 7fca3cc97f..39ceb764fa 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -389,7 +389,7 @@ boundary_diag(const struct gkyl_dg_eqn *eqn, */ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, - const double charge, const double mass, double skip_if_smaller_than, enum gkyl_gk_collisionless_type collless_type, + const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); /** From 8f5118ee27fb1f66ffb9a1f8e72b5e4c3e3b0a57 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 2 Mar 2026 06:47:08 -0800 Subject: [PATCH 113/181] adapt the em regression test with the new mac2p enum --- gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c index 74e5e59bbe..7893e230c4 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c @@ -405,7 +405,7 @@ int main(int argc, char **argv) .basis_type = app_args.basis_type, .geometry = { - .geometry_id = GKYL_MAPC2P, + .geometry_id = GKYL_GEOMETRY_MAPC2P, .world = {0., 0.}, .mapc2p = mapc2p, // mapping of computational to physical space .c2p_ctx = &ctx, diff --git a/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c index 4f6ac2d389..b22a61c190 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c @@ -410,7 +410,7 @@ int main(int argc, char **argv) .basis_type = app_args.basis_type, .geometry = { - .geometry_id = GKYL_MAPC2P, + .geometry_id = GKYL_GEOMETRY_MAPC2P, .mapc2p = mapc2p, // mapping of computational to physical space .c2p_ctx = &ctx, .bfield_func = bfield_func, // magnetic field From 69c49b33fee272e731ae02dca9dac50bf61da6e3 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 2 Mar 2026 06:47:30 -0800 Subject: [PATCH 114/181] add a KBM regression test, the branch works fine with the latest main + new makefile merge --- gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c | 572 +++++++++++++++++++++++++++ 1 file changed, 572 insertions(+) create mode 100644 gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c diff --git a/gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c b/gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c new file mode 100644 index 0000000000..f77f672128 --- /dev/null +++ b/gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c @@ -0,0 +1,572 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +// Define the context of the simulation. This is basically all the globals +struct gk_app_ctx { + int cdim, vdim; // Dimensionality. + double mu0; + + // Geometry and magnetic field. + double R; // Major radius of the simulation box [m]. + double a; // Minor radius at outboard midplane [m]. + double r; // Minor radius of the simulation box [m]. + double B; // Magnetic field magnitude in the simulation box [T]. + + double kperp; // Perpendicular wavenumber. + double beta_hat; // Plasma beta parameter. + + // Plasma parameters. + double me; double qe; + double mi; double qi; + double n0; double Te0; double Ti0; + + // Initial profile parameters. + double r0, wTi, wTe, wN, kTi, kTe, kN; + double L_n, L_Te, L_Ti; + + // Grid parameters. + int Nx, Ny, Nz, Nvpar, Nmu; + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + int poly_order; + double x_min, y_min, z_min; + double x_max, y_max, z_max; + double vpar_max_elc, mu_max_elc; + double vpar_max_ion, mu_max_ion; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +// Ion initial conditions. +void density_init_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xn[0]; + double y = xn[1]; + double z = xn[2]; + + double kN = app->kN; + double wN = app->wN; + double a = app->a; + double Lref = app->R; + double r0 = app->r0; + + fout[0] = app->n0;// * exp(-kN * wN * a/Lref * tanh((x-r0)/(wN * a))); +} +void upar_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_ion(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xn[0]; + double y = xn[1]; + double z = xn[2]; + + double kTi = app->kTi; + double wTi = app->wTi; + double a = app->a; + double Lref = app->R; + double r0 = app->r0; + + fout[0] = app->Ti0 ;//* exp(-kTi * wTi * a/Lref * tanh((x-r0)/(wTi * a))); +} + +// Electron initial conditions. +void density_init_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xn[0]; + double y = xn[1]; + double z = xn[2]; + + double kN = app->kN; + double wN = app->wN; + double a = app->a; + double Lref = app->R; + double r0 = app->r0; + + fout[0] = app->n0;// * exp(-kN * wN * a/Lref * tanh((x-r0)/(wN * a))); +} +void upar_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + fout[0] = 0.0; +} +void temp_elc(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xn[0]; + double y = xn[1]; + double z = xn[2]; + + double kTe = app->kTe; + double wTe = app->wTe; + double a = app->a; + double Lref = app->R; + double r0 = app->r0; + + fout[0] = app->Te0;// * exp(-kTe * wTe * a/Lref * tanh((x-r0)/(wTe * a))); +} + +// Slab magnetic equilibrium. +static inline void +mapc2p(double t, const double* xc, double* GKYL_RESTRICT xp, void* ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xc[0], y = xc[1], z = xc[2]; + xp[0] = x; xp[1] = y; xp[2] = z; +} +void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double x = xc[0], y = xc[1], z = xc[2]; + fout[0] = 0.0; + fout[1] = 0.0; + fout[2] = app->B*app->R/(app->R + x); +} + +void mapc2p_vel_elc(double t, const double *vc, double* GKYL_RESTRICT vp, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double vpar_max_elc = app->vpar_max_elc; + double mu_max_elc = app->mu_max_elc; + + double cvpar = vc[0], cmu = vc[1]; + // Linear map up to vpar_max/2, then quadratic. + if (fabs(cvpar) <= 0.5) + vp[0] = vpar_max_elc*cvpar; + else if (cvpar < -0.5) + vp[0] = -vpar_max_elc*2.0*pow(cvpar,2); + else + vp[0] = vpar_max_elc*2.0*pow(cvpar,2); + + // Quadratic map in mu. + vp[1] = mu_max_elc*pow(cmu,2); +} + +void mapc2p_vel_ion(double t, const double *vc, double* GKYL_RESTRICT vp, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double vpar_max_ion = app->vpar_max_ion; + double mu_max_ion = app->mu_max_ion; + + double cvpar = vc[0], cmu = vc[1]; + // Linear map up to vpar_max/2, then quadratic. + if (fabs(cvpar) <= 0.5) + vp[0] = vpar_max_ion*cvpar; + else if (cvpar < -0.5) + vp[0] = -vpar_max_ion*2.0*pow(cvpar,2); + else + vp[0] = vpar_max_ion*2.0*pow(cvpar,2); + + // Quadratic map in mu. + vp[1] = mu_max_ion*pow(cmu,2); +} + + +void +write_ctx_to_json(const struct gk_app_ctx *ctx) +{ + FILE *fp = fopen("ctx.json", "w"); + if (!fp) { + perror("Error opening file for writing context"); + return; + } + + fprintf(fp, "{\n"); + fprintf(fp, " \"cdim\": %d,\n", ctx->cdim); + fprintf(fp, " \"vdim\": %d,\n", ctx->vdim); + fprintf(fp, " \"mu0\": %e,\n", ctx->mu0); + fprintf(fp, " \"R\": %e,\n", ctx->R); + fprintf(fp, " \"a\": %e,\n", ctx->a); + fprintf(fp, " \"r\": %e,\n", ctx->r); + fprintf(fp, " \"B\": %e,\n", ctx->B); + fprintf(fp, " \"x_min\": %e,\n", ctx->x_min); + fprintf(fp, " \"x_max\": %e,\n", ctx->x_max); + fprintf(fp, " \"y_min\": %e,\n", ctx->y_min); + fprintf(fp, " \"y_max\": %e,\n", ctx->y_max); + fprintf(fp, " \"z_min\": %e,\n", ctx->z_min); + fprintf(fp, " \"z_max\": %e,\n", ctx->z_max); + fprintf(fp, " \"kperp\": %e,\n", ctx->kperp); + fprintf(fp, " \"beta_hat\": %e,\n", ctx->beta_hat); + fprintf(fp, " \"me\": %e,\n", ctx->me); + fprintf(fp, " \"qe\": %e,\n", ctx->qe); + fprintf(fp, " \"mi\": %e,\n", ctx->mi); + fprintf(fp, " \"qi\": %e,\n", ctx->qi); + fprintf(fp, " \"n0\": %e,\n", ctx->n0); + fprintf(fp, " \"Te0\": %e,\n", ctx->Te0); + fprintf(fp, " \"Ti0\": %e,\n", ctx->Ti0); + fprintf(fp, " \"r0\": %e,\n", ctx->r0); + fprintf(fp, " \"wTi\": %e,\n", ctx->wTi); + fprintf(fp, " \"wTe\": %e,\n", ctx->wTe); + fprintf(fp, " \"wN\": %e,\n", ctx->wN); + fprintf(fp, " \"kTi\": %e,\n", ctx->kTi); + fprintf(fp, " \"kTe\": %e,\n", ctx->kTe); + fprintf(fp, " \"kN\": %e,\n", ctx->kN); + fprintf(fp, " \"L_n\": %e,\n", ctx->L_n); + fprintf(fp, " \"L_Te\": %e,\n", ctx->L_Te); + fprintf(fp, " \"L_Ti\": %e,\n", ctx->L_Ti); + fprintf(fp, " \"Nx\": %d,\n", ctx->Nx); + fprintf(fp, " \"Ny\": %d,\n", ctx->Ny); + fprintf(fp, " \"Nz\": %d,\n", ctx->Nz); + fprintf(fp, " \"Nvpar\": %d,\n", ctx->Nvpar); + fprintf(fp, " \"Nmu\": %d,\n", ctx->Nmu); + fprintf(fp, " \"poly_order\": %d,\n", ctx->poly_order); + fprintf(fp, " \"vpar_max_elc\": %e,\n", ctx->vpar_max_elc); + fprintf(fp, " \"mu_max_elc\": %e,\n", ctx->mu_max_elc); + fprintf(fp, " \"vpar_max_ion\": %e,\n", ctx->vpar_max_ion); + fprintf(fp, " \"mu_max_ion\": %e,\n", ctx->mu_max_ion); + fprintf(fp, " \"t_end\": %e,\n", ctx->t_end); + fprintf(fp, " \"num_frames\": %d,\n", ctx->num_frames); + fprintf(fp, " \"write_phase_freq\": %e,\n", ctx->write_phase_freq); + fprintf(fp, " \"int_diag_calc_num\": %d,\n", ctx->int_diag_calc_num); + fprintf(fp, " \"dt_failure_tol\": %e,\n", ctx->dt_failure_tol); + fprintf(fp, " \"num_failures_max\": %d\n", ctx->num_failures_max); + fprintf(fp, "}\n"); + + fclose(fp); +} + +struct gk_app_ctx +create_ctx(void) +{ + int cdim = 3, vdim = 2; // Dimensionality. + // Universal constant parameters. + double eps0 = GKYL_EPSILON0, eV = GKYL_ELEMENTARY_CHARGE; + double qi = eV; // ion charge + double qe = -eV; // electron charge + double me = GKYL_ELECTRON_MASS; + double mi = 2*GKYL_PROTON_MASS; + double mu0 = GKYL_MU0; + // Geometry, magnetic field and gradients. + double R0 = 1.313; // Major radius of the simulation box [m]. + double a = 0.4701; // Minor radius at outboard midplane [m]. + double B0 = 1.91; // Magnetic field magnitude in the simulation box [T]. + double Ti0 = 1000*eV; + double eps_n = 0.2; // aspect ratio (= normalized density gradient length). + double eta_e = 2.0; // Normalized electron temperature gradient. + double eta_i = 2.5; // Normalized ion temperature gradient. + double ky_rhoi = 0.5; // Normalized perpendicular wavenumber. + double kz_Ln = 0.1; // Normalized parallel wavenumber. + double beta_i = 0.0045; // Ion beta. + double tau = 1.0; // Temperature ratio Ti/Te. + + // Derived paramters. + double r0 = 0.5*a; // Minor radius of the simulation box [m]. + double R = R0 + r0; // Major radius at center of simulation box [m]. + double B = B0 * R0/R; // Magnetic field at center of simulation box [T]. + double Te0 = Ti0/tau; // Electron temperature [J]. + double n0 = beta_i*B*B/(2*mu0*Ti0); // Density [m^-3]. + double vte = sqrt(Te0/me); // Electron thermal speed [m/s]. + double vti = sqrt(Ti0/mi); // Ion thermal speed [m/s]. + double c_s = sqrt(Te0/mi); // Sound speed [m/s]. + double omega_ci = fabs(qi*B/mi); // Ion cyclotron frequency [rad/s]. + double rho_s = c_s/omega_ci; // Ion sound gyroradius [m] + double rho_e = vte/omega_ci; // Electron thermal gyroradius [m]. + double rho_i = vti/omega_ci; // Ion thermal gyroradius [m]. + double ky_min = ky_rhoi / rho_i; // Minimum ky. + double dr = 2*M_PI/ky_min; // Cell size in x-direction [m]. + double L_n = R * eps_n; + double L_Te = L_n/eta_e; + double L_Ti = L_n/eta_i; + double kz_min = kz_Ln / L_n; + double L_parallel = 2*M_PI/kz_min; + + double kTi = R0/L_Ti; + double kTe = R0/L_Te; + double kN = R0/L_n; + double wTi = 0.3; + double wTe = 0.3; + double wN = 0.3; + + // Grid parameters + int Nx = 16; + int Ny = 8; + int Nz = 8; + int Nvpar = 16; + int Nmu = 8; + + double x_min = r0; + double x_max = r0 * (1+2*wN); + double y_min = -dr/2; + double y_max = dr/2; + double z_min = -L_parallel/2; // Min z-coordinate [m]. + double z_max = L_parallel/2; // Max z-coordinate [m]. + double vpar_max_elc = 4.0*vte; // Max electron parallel velocity [m/s]. + double vpar_min_elc = -vpar_max_elc; // Min electron parallel velocity [m/s]. + double vpar_max_ion = 4.0*vti; // Max ion parallel velocity [m/s]. + double vpar_min_ion = -vpar_max_ion; // Min ion parallel + double mu_max_elc = me*pow(4*vte,2)/(2*B); // Max electron mu [J/T]. + double mu_max_ion = mi*pow(4*vti,2)/(2*B); // Max ion mu [J/T]. + + int poly_order = 1; + + double t_end = 0.01*L_n/vti; // End time [s]. + int num_frames = 100; + double write_phase_freq = 0.1; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*1000; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 50; // Maximum allowable number of consecutive small time-steps. + + struct gk_app_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .mu0 = mu0, + .R = R, + .B = B, + .me = me, .qe = qe, + .mi = mi, .qi = qi, + .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, + + .kN = kN, .kTi = kTi, .kTe = kTe, + .wN = wN, .wTi = wTi, .wTe = wTe, + .r0 = r0, .L_n = L_n, .L_Te = L_Te, .L_Ti = L_Ti, + .a = a, + + .Nx = Nx, + .Ny = Ny, + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .x_min = x_min, + .x_max = x_max, + .y_min = y_min, + .y_max = y_max, + .z_min = z_min, + .z_max = z_max, + .vpar_max_elc = vpar_max_elc, .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, .mu_max_ion = mu_max_ion, + .cells = {Nx, Ny, Nz, Nvpar, Nmu}, + .poly_order = poly_order, + + .t_end = t_end, .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + +int main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_app_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; d Date: Mon, 2 Mar 2026 11:45:17 -0500 Subject: [PATCH 115/181] small logic bug fix --- gyrokinetic/apps/gyrokinetic.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 3cf530efff..231e87a117 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -902,7 +902,7 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) } } - if (app->field->info.init_from_file.type == 0 && app->field->info.init_field_profile == 0) + if (app->field->info.init_from_file.type == 0 && app->field->info.init_field_profile == 0) { // Compute the field. // MF 2024/09/27/: Need the cast here for consistency. Fixing // this may require removing 'const' from a lot of places. @@ -919,7 +919,8 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) } gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); } - else { + + } else { if (app->field->info.init_field_profile == 0) // Read the field. gk_field_file_import_init(app, app->field->info.init_from_file); @@ -927,7 +928,6 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) // Project the field. gk_field_project_init(app); } - } // Compute the phase-space advection speeds and boundary fluxes as t=0 From ee68ddb47231b14b4b1d22561f116666edbbc69a Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 30 Mar 2026 08:48:21 -0700 Subject: [PATCH 116/181] fix a bug rising from merge --- gyrokinetic/apps/gk_field_2x3x.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 642806b12a..c3932ca874 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -138,16 +138,6 @@ gk_field_twistshift_disabled(struct gkyl_bc_twistshift *up, struct gkyl_array *f // Do nothing } -static void -gk_field_twistshift_enabled(struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar){ - gkyl_bc_twistshift_advance(up, fdo, ftar); -} - -static void -gk_field_twistshift_disabled(struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar){ - // Do nothing -} - static void gk_field_enforce_parallel_bc_enabled(const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout) { @@ -159,7 +149,7 @@ gk_field_enforce_parallel_bc_enabled(const gkyl_gyrokinetic_app *app, struct gk_ num_periodic_dir, periodic_dirs, finout); // Update the lower z ghosts with twist-and-shift if we are in 3x2v - field->twistshift_func(field->bc_T_LU_lo, finout, finout); + field->twistshift_func(field->bc_ts_lo, finout, finout); // Sync ghost cells between MPI processes. gkyl_comm_array_sync(app->comm, &app->local, &app->local_ext, finout); @@ -179,7 +169,7 @@ gk_field_enforce_parallel_bc_em_enabled(const struct gkyl_gyrokinetic_app *app, num_periodic_dir, periodic_dirs, finout); // Update the lower z ghosts with twist-and-shift if we are in 3x2v - field->twistshift_func(field->bc_T_LU_lo, finout, finout); + field->twistshift_func(field->bc_ts_lo, finout, finout); // Sync ghost cells between MPI processes. gkyl_comm_array_sync(app->comm, &app->local, &app->local_ext, finout); From 80c4918e9e1a8343b4f2869954eb67500ca18da1 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 30 Mar 2026 08:55:28 -0700 Subject: [PATCH 117/181] Add the helical geometry SOL regression test (see Section 6 of Mandell et al. J. Plasma Phys. (2020), vol. 86, 905860109) --- .../creg/rt_gk_em_helical_sol_3x2v_p1.c | 586 ++++++++++++++++++ 1 file changed, 586 insertions(+) create mode 100644 gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c diff --git a/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c new file mode 100644 index 0000000000..56c5429f5f --- /dev/null +++ b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c @@ -0,0 +1,586 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +// Define the context of the simulation. This is basically all the globals +struct gk_app_ctx { + int cdim, vdim; // Dimensionality. + + // Geometry and magnetic field. + double B_axis; + double R0; + double a0; + double Rc; + double B0; + double Lp; // Poloidal length (used to get the field line pitch). + double Lt; // Toroidal length (used to get the field line pitch). + + // Plasma parameters. + double me; double qe; + double mi; double qi; + double n0; double Te0; double Ti0; + + // Collisions. + double nu_frac; + + // Source parameters. + double P_SOL; + double S0; + double xSource; + double lambdaSource; + + // Grid parameters. + double Lx; // Domain size in radial direction. + double Ly; // Domain size in binormal direction. + double Lz; // Domain size along magnetic field. + double x_min; double x_max; + double y_min; double y_max; + double z_min; double z_max; + int Nx; + int Ny; + int Nz; + int Nvpar; + int Nmu; + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + int poly_order; + double vpar_max_elc; double mu_max_elc; + double vpar_max_ion; double mu_max_ion; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +double random0to1() +{ + return (double)rand() / (double)RAND_MAX; +} + +// Common source density profiles. +double sourceDensity(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[2]; + double sourceFloor = 0.1; + + struct gk_app_ctx *app = ctx; + double S0 = app->S0; + double lambdaSource = app->lambdaSource; + double xSource = app->xSource; + double Lz = app->Lz; + + if (x < xSource) { + sourceFloor = 0.5; + } + if (fabs(z) < Lz/4) { + return 0.90625*S0*fmax(exp(-0.5*pow((x-xSource)/lambdaSource,2)),sourceFloor); + } else { + return 1e-10; + } +} + +// Common source temperature profile. +double sourceTemperature(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[2]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + if (x < xSource + 3 * lambdaSource) { + return 80*GKYL_ELEMENTARY_CHARGE; + } else { + return 30*GKYL_ELEMENTARY_CHARGE; + } +} + +// Initial density. +double densityInit(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + struct gk_app_ctx *app = ctx; + double Ls = app->Lz/4; + double xSource[3] = {x, y, 0}; + double effectiveSource = sourceDensity(t, xSource, ctx); + double c_ss = sqrt(5/3*sourceTemperature(t, xSource, ctx)/app->mi); + double nPeak = 4*sqrt(5)/3/c_ss*Ls*effectiveSource/2; + double perturb = 1e-3*(random0to1() - 0.5)*2.0; + if (fabs(z) <= Ls) { + return nPeak * (1 + sqrt(1-pow(z/Ls,2)))/2 * (1+perturb); + } else { + return nPeak/2 * (1+perturb); + } +} + +// Initial temperature. +double temperatureInit(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + if (x < xSource + 3*lambdaSource) { + return 80*GKYL_ELEMENTARY_CHARGE; + } else { + return 20*GKYL_ELEMENTARY_CHARGE; + } +} + +// Initial ion drift speed. +double driftSpeed(const double * GKYL_RESTRICT xn, void *ctx){ + double x = xn[0], y = xn[1], z = xn[2]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + double Lz = app->Lz; + double mi = app->mi; + double Te; + if (x < xSource + 3*lambdaSource) { + Te = 50*GKYL_ELEMENTARY_CHARGE; + } else { + Te = 20*GKYL_ELEMENTARY_CHARGE; + } + double Ls = Lz/4; + if (fabs(z) <= Ls) { + return z/Ls*sqrt(Te/mi); + } else { + return (z > 0 ? 1.0 : -1.0)*sqrt(Te/mi); + } +} + +// Magnetic field strength. +double bmag(const double *xc, void *ctx) +{ + double x = xc[0]; + struct gk_app_ctx *app = ctx; + double B0 = app->B0; + double Rc = app->Rc; + return B0*Rc/x; +} + +// Interface function calls. +void source_density(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = sourceDensity(t, xn, ctx); } +void source_temperature(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = sourceTemperature(t, xn, ctx); } +void density_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = densityInit(t, xn, ctx); } +void temp_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = temperatureInit(t, xn, ctx); } +void upar_ion_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = driftSpeed(xn, ctx); } +void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = bmag(xc, ctx); } +void zero_func(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = 0.0; } + +// Geometry evaluation functions for the gk app +void mapc2p(double t, const double *xc, double* GKYL_RESTRICT xp, void *ctx) +{ + double x = xc[0], y = xc[1], z = xc[2]; + + struct gk_app_ctx *app = ctx; + double Rc = app->Rc; + double Lp = app->Lp; + double Lt = app->Lt; + + double theta = asin(Lp/Lt); + + // Map to cylindrical (R, Z, phi) coordinates. + double R = x; + double Z = z*sin(theta); + double phi = (y/sin(theta) + z*cos(theta)/Rc); + // Map to Cartesian (X, Y, Z) coordinates. + double X = R*cos(phi); + double Y = R*sin(phi); + + xp[0] = X; xp[1] = Y; xp[2] = Z; +} + +struct gk_app_ctx +create_ctx(void) +{ + int cdim = 3, vdim = 2; // Dimensionality. + + // Universal constant parameters. + double eps0 = GKYL_EPSILON0, eV = GKYL_ELEMENTARY_CHARGE; + double mp = GKYL_PROTON_MASS, me = GKYL_ELECTRON_MASS; + double qi = eV; // ion charge + double qe = -eV; // electron charge + + // Plasma parameters. Chosen based on the value of a cubic sline + // between the last TS data inside the LCFS and the probe data in + // in the far SOL, near R=0.475 m. + double AMU = 2.01410177811; + double mi = mp*AMU; // Deuterium ions. + double Te0 = 40*eV; + double Ti0 = 40*eV; + double n0 = 7e18*10; // [1/m^3] + + // Geometry and magnetic field. + double B_axis = 0.5; + double R0 = 0.85; + double a0 = 0.5; + double Lp = 2.4; // Poloidal length (used to get the field line pitch). + double Lt = 8.0; // Toroidal length (used to get the field line pitch). + double Rc = R0 + a0; + double B0 = B_axis*R0/Rc; + + // Source parameters. + double P_SOL = 8.1e5; + double S0 = 5.7691e23*10; + double xSource = Rc - 0.05; + double lambdaSource = 0.005; + + // Collisions; + double nuFrac = 0.1; + + // Derived parameters. + double vte = sqrt(Te0/me), vti = sqrt(Ti0/mi); // Thermal speeds. + double c_s = sqrt(Te0/mi); // Sound speed. + double omega_ci = fabs(qi*B0/mi); // Ion cyclotron frequency. + double rho_s = c_s/omega_ci; // Ion sound gyroradius. + + // Box size. + double Lx = 50*rho_s; + double Ly = 100*rho_s; + double Lz = Lt; // [m] + + double x_min = Rc - Lx/2; + double x_max = Rc + Lx/2; + double y_min = -Ly/2; + double y_max = Ly/2; + double z_min = -Lz/2; + double z_max = Lz/2; + + // Grid parameters + int Nx = 4; + int Ny = 4; + int Nz = 4; + int Nvpar = 4; + int Nmu = 4; + int poly_order = 1; + + double vpar_max_elc = 4.*vte; + double mu_max_elc = 12*me*pow(vte,2)/(2*B0); + double vpar_max_ion = 4.*vti; + double mu_max_ion = 12*mi*pow(vti,2)/(2*B0); + + double t_end = 1.e-6; // End time, should terminate in 43 steps. + int num_frames = 1; + double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*100; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 20; // Maximum allowable number of consecutive small time-steps. + + struct gk_app_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .B_axis = B_axis, + .R0 = R0, + .a0 = a0, + .Lp = Lp, + .Lt = Lt, + .Rc = Rc, + .B0 = B0, + .Lx = Lx, + .Ly = Ly, + .Lz = Lz, + .x_min = x_min, .x_max = x_max, + .y_min = y_min, .y_max = y_max, + .z_min = z_min, .z_max = z_max, + + .me = me, .qe = qe, + .mi = mi, .qi = qi, + .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, + + .nu_frac = nuFrac, + + .P_SOL = P_SOL, + .S0 = S0, + .xSource = xSource, + .lambdaSource = lambdaSource, + + .Nx = Nx, + .Ny = Ny, + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .cells = {Nx, Ny, Nz, Nvpar, Nmu}, + .poly_order = poly_order, + .vpar_max_elc = vpar_max_elc, .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, .mu_max_ion = mu_max_ion, + + .t_end = t_end, .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + + +int +main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_app_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; d Date: Mon, 30 Mar 2026 08:55:57 -0700 Subject: [PATCH 118/181] Add citation to Mandel 2020 --- gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c index 56c5429f5f..43969a0c90 100644 --- a/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c @@ -12,6 +12,9 @@ #include +// This regression test is directly inspired from the helical SOL demonstration +// in Section 6 of Mandell et al. J. Plasma Phys. (2020), vol. 86, 905860109. + // Define the context of the simulation. This is basically all the globals struct gk_app_ctx { int cdim, vdim; // Dimensionality. From 7d607e9318c03e9669c234489ee97c2e2a726a4a Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 30 Mar 2026 09:05:50 -0700 Subject: [PATCH 119/181] add Apar solve in the timing metrics --- gyrokinetic/apps/gyrokinetic.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 231e87a117..44bc1bebf6 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -2061,7 +2061,8 @@ gkyl_gyrokinetic_app_stat(gkyl_gyrokinetic_app* app) + stat->species_omega_cfl_tm + stat->species_src_tm + stat->species_heat_tm + stat->neut_species_collisionless_tm + stat->neut_species_coll_tm + stat->neut_species_react_tm + stat->neut_species_omega_cfl_tm + stat->neut_species_src_tm + stat->dfdt_dt_reduce_tm + stat->fwd_euler_step_f_tm; - stat->field_sum_tm = stat->field_phi_rhs_tm + stat->field_phi_solve_tm; + stat->field_sum_tm = stat->field_phi_rhs_tm + stat->field_phi_solve_tm + + stat->field_apar_rhs_tm + stat->field_apar_solve_tm; stat->bc_sum_tm = stat->species_bc_tm + stat->neut_species_bc_tm; stat->time_rate_diags_sum_tm = stat->fdot_tm + stat->phidot_tm; stat->pos_shift_sum_tm = stat->species_pos_shift_tm + stat->neut_species_pos_shift_tm + stat->pos_shift_quasineut_tm; @@ -2122,6 +2123,8 @@ gkyl_gyrokinetic_app_print_timings(gkyl_gyrokinetic_app* app, FILE *iostream) gkyl_gyrokinetic_app_cout(app, iostream, " * Field solves: %.4e sec. / %4.2f %%.\n", stat->field_tm, ratio_to_percent(stat->field_tm,stat->time_loop_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Phi eqn RHS: %.4e sec. / %4.2f %%.\n", stat->field_phi_rhs_tm , ratio_to_percent(stat->field_phi_rhs_tm ,stat->field_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Phi eqn solve: %.4e sec. / %4.2f %%.\n", stat->field_phi_solve_tm, ratio_to_percent(stat->field_phi_solve_tm,stat->field_tm, 0.0)); + gkyl_gyrokinetic_app_cout(app, iostream, " ^ Apar eqn RHS: %.4e sec. / %4.2f %%.\n", stat->field_apar_rhs_tm, ratio_to_percent(stat->field_apar_rhs_tm,stat->field_tm, 0.0)); + gkyl_gyrokinetic_app_cout(app, iostream, " ^ Apar eqn solve: %.4e sec. / %4.2f %%.\n", stat->field_apar_solve_tm, ratio_to_percent(stat->field_apar_solve_tm,stat->field_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Accounted for: %4.2f %%.\n", ratio_to_percent(stat->field_sum_tm, stat->field_tm, 100.0)); gkyl_gyrokinetic_app_cout(app, iostream, " * Boundary conditions:: %.4e sec. / %4.2f %%.\n", stat->bc_tm, ratio_to_percent(stat->bc_tm,stat->time_loop_tm, 0.0)); gkyl_gyrokinetic_app_cout(app, iostream, " ^ Species (charged): %.4e sec. / %4.2f %%.\n", stat->species_bc_tm , ratio_to_percent(stat->species_bc_tm ,stat->bc_tm, 0.0)); From 6fdeef481052e339eb513e0926a8cad7faa6b9df Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 31 Mar 2026 16:39:26 -0400 Subject: [PATCH 120/181] refactor some names to be clear about what is axis and what is center values --- .../creg/rt_gk_em_helical_sol_3x2v_p1.c | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c index 43969a0c90..884967d33b 100644 --- a/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c @@ -12,19 +12,16 @@ #include -// This regression test is directly inspired from the helical SOL demonstration -// in Section 6 of Mandell et al. J. Plasma Phys. (2020), vol. 86, 905860109. - // Define the context of the simulation. This is basically all the globals struct gk_app_ctx { int cdim, vdim; // Dimensionality. // Geometry and magnetic field. double B_axis; - double R0; - double a0; - double Rc; - double B0; + double R_axis; + double a_center; + double R_center; + double B_center; double Lp; // Poloidal length (used to get the field line pitch). double Lt; // Toroidal length (used to get the field line pitch). @@ -167,9 +164,9 @@ double bmag(const double *xc, void *ctx) { double x = xc[0]; struct gk_app_ctx *app = ctx; - double B0 = app->B0; - double Rc = app->Rc; - return B0*Rc/x; + double B_axis = app->B_axis; + double R_axis = app->R_axis; + return B_axis * R_axis/x; } // Interface function calls. @@ -194,7 +191,7 @@ void mapc2p(double t, const double *xc, double* GKYL_RESTRICT xp, void *ctx) double x = xc[0], y = xc[1], z = xc[2]; struct gk_app_ctx *app = ctx; - double Rc = app->Rc; + double R_center = app->R_center; double Lp = app->Lp; double Lt = app->Lt; @@ -203,7 +200,8 @@ void mapc2p(double t, const double *xc, double* GKYL_RESTRICT xp, void *ctx) // Map to cylindrical (R, Z, phi) coordinates. double R = x; double Z = z*sin(theta); - double phi = (y/sin(theta) + z*cos(theta)/Rc); + double phi = (y/sin(theta) + z*cos(theta))/R_center; + // Map to Cartesian (X, Y, Z) coordinates. double X = R*cos(phi); double Y = R*sin(phi); @@ -233,17 +231,17 @@ create_ctx(void) // Geometry and magnetic field. double B_axis = 0.5; - double R0 = 0.85; - double a0 = 0.5; + double R_axis = 0.85; + double a_center = 0.5; // Minor radius of the center of the domain. + double R_center = R_axis + a_center; // Major radius of the center of the domain. + double B_center = B_axis*R_axis/R_center; // Magnetic field strength at the center of the domain. double Lp = 2.4; // Poloidal length (used to get the field line pitch). double Lt = 8.0; // Toroidal length (used to get the field line pitch). - double Rc = R0 + a0; - double B0 = B_axis*R0/Rc; // Source parameters. double P_SOL = 8.1e5; double S0 = 5.7691e23*10; - double xSource = Rc - 0.05; + double xSource = R_center - 0.05; double lambdaSource = 0.005; // Collisions; @@ -252,7 +250,7 @@ create_ctx(void) // Derived parameters. double vte = sqrt(Te0/me), vti = sqrt(Ti0/mi); // Thermal speeds. double c_s = sqrt(Te0/mi); // Sound speed. - double omega_ci = fabs(qi*B0/mi); // Ion cyclotron frequency. + double omega_ci = fabs(qi*B_center/mi); // Ion cyclotron frequency. double rho_s = c_s/omega_ci; // Ion sound gyroradius. // Box size. @@ -260,25 +258,25 @@ create_ctx(void) double Ly = 100*rho_s; double Lz = Lt; // [m] - double x_min = Rc - Lx/2; - double x_max = Rc + Lx/2; + double x_min = R_center - Lx/2; + double x_max = R_center + Lx/2; double y_min = -Ly/2; double y_max = Ly/2; double z_min = -Lz/2; double z_max = Lz/2; // Grid parameters - int Nx = 4; - int Ny = 4; + int Nx = 2; + int Ny = 2; int Nz = 4; int Nvpar = 4; int Nmu = 4; int poly_order = 1; double vpar_max_elc = 4.*vte; - double mu_max_elc = 12*me*pow(vte,2)/(2*B0); + double mu_max_elc = 12*me*pow(vte,2)/(2*B_center); double vpar_max_ion = 4.*vti; - double mu_max_ion = 12*mi*pow(vti,2)/(2*B0); + double mu_max_ion = 12*mi*pow(vti,2)/(2*B_center); double t_end = 1.e-6; // End time, should terminate in 43 steps. int num_frames = 1; @@ -291,12 +289,12 @@ create_ctx(void) .cdim = cdim, .vdim = vdim, .B_axis = B_axis, - .R0 = R0, - .a0 = a0, + .R_axis = R_axis, + .a_center = a_center, .Lp = Lp, .Lt = Lt, - .Rc = Rc, - .B0 = B0, + .R_center = R_center, + .B_center = B_center, .Lx = Lx, .Ly = Ly, .Lz = Lz, From 4f1333e6e6c3cca914093e67cec32cfd26ca6c19 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 3 Apr 2026 13:16:41 -0400 Subject: [PATCH 121/181] add an option in the gk field table to have a static Apar, this means that we solve only Apar at t=0 and do not compute Apardot. It is equivalent to a electrostatic simulation with a constant fluctuation to the magnetic field. --- gyrokinetic/apps/gk_field.c | 2 +- gyrokinetic/apps/gk_field_1x.c | 2 +- gyrokinetic/apps/gk_field_2x3x.c | 8 ++++++-- gyrokinetic/apps/gkyl_gyrokinetic.h | 1 + gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 + 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 73e387cf21..4a38818e6e 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -393,7 +393,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } if (f->is_em) { assert(f->info.mu0 > 0.0); - f->step_apar = gk_field_step_apar_enabled; + f->step_apar = f->info.is_apar_static ? gk_field_step_apar_disabled : gk_field_step_apar_enabled; f->em_combine_func = gk_field_combine_enabled; f->em_copy_func = gk_field_copy_range_enabled; } else { diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index 0f67e5327e..640e9cbcf5 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -171,7 +171,7 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Set function pointers. f->rhs_phi_func = gk_field_rhs_phi_1x; if (f->is_em) { - f->em_rhs_func = gk_field_em_rhs_enabled; + f->em_rhs_func = f->info.is_apar_static ? gk_field_em_rhs_none : gk_field_em_rhs_enabled; f->ampere_solve = gk_field_ampere_solve_1x_enabled; } else { f->em_rhs_func = gk_field_em_rhs_none; diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index c3932ca874..9d8d3c1b51 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -234,7 +234,7 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); - // gkyl_array_clear_range(field->apardot, 0.0, &app->local_ext); + field->invert_flr(app, field, field->apardot); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -242,8 +242,12 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ static void gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); + gkyl_fem_poisson_perp_set_rhs(field->fem_apar_solver, field->currentDens); gkyl_fem_poisson_perp_solve(field->fem_apar_solver, field->apar); + + field->invert_flr(app, field, field->apar); + field->enforce_parallel_bc_em_func(app, field, field->apar); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -550,7 +554,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); f->ampere_solve = gk_field_ampere_solve_enabled; - f->em_rhs_func = gk_field_em_rhs_enabled; + f->em_rhs_func = f->info.is_apar_static ? gk_field_em_rhs_none : gk_field_em_rhs_enabled; } gkyl_array_set(f->es_energy_fac, 0.5, f->epsilon); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index 0a38db7ef7..cc6450d59a 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -476,6 +476,7 @@ struct gkyl_gyrokinetic_neut_species { struct gkyl_gyrokinetic_field { enum gkyl_gkfield_id gkfield_id; bool is_static; // =true field does not change in time. + bool is_apar_static; // =true Apar at initial time is used for all time steps. bool zero_init_field; // =true doesn't compute the initial field. double polarization_bmag; diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index e3f6545d66..8514ba4141 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1221,6 +1221,7 @@ struct gk_field { bool update_field; // Are we updating the field?. bool calc_init_field; // Whether to compute the t=0 field. bool is_em; // Whether we solve the EM field equations. + bool freeze_apar; // Whether we set Apardot=0. struct gkyl_job_pool *job_pool; // Job pool // arrays for local charge density, global charge density, and global smoothed (in z) charge density From 86d1b106293dbeaa234cd9b59edcf0154c10d13d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 3 Apr 2026 17:31:35 -0400 Subject: [PATCH 122/181] fix the is_apar_static option --- gyrokinetic/apps/gk_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 4a38818e6e..73e387cf21 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -393,7 +393,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } if (f->is_em) { assert(f->info.mu0 > 0.0); - f->step_apar = f->info.is_apar_static ? gk_field_step_apar_disabled : gk_field_step_apar_enabled; + f->step_apar = gk_field_step_apar_enabled; f->em_combine_func = gk_field_combine_enabled; f->em_copy_func = gk_field_copy_range_enabled; } else { From 826c982e5e2cdf3e301ab4106df66629705fd8f1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 6 Apr 2026 13:26:59 -0400 Subject: [PATCH 123/181] remove unused variables --- .../dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c | 2 -- .../dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c | 2 -- 2 files changed, 4 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c index 889648f0c1..2c9e566d31 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c @@ -21,8 +21,6 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const double rdx2 = 2.0/dxv[0]; double rdvpar2 = 2.0/dxv[1]; - double rdvpar2Sq = rdvpar2*rdvpar2; - double dvparSq = dxv[1]*dxv[1]; const double *b_x = &b_i[0]; const double *b_y = &b_i[2]; diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c index 491eab8b83..0cf6e8271f 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c @@ -22,8 +22,6 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const double rdvpar2 = 2.0/dxv[1]; double rdmu2 = 2.0/dxv[2]; - double rdvpar2Sq = rdvpar2*rdvpar2; - double dvparSq = dxv[1]*dxv[1]; const double *b_x = &b_i[0]; const double *b_y = &b_i[2]; From fe27709e00c4d018b321cdb887f549f69eff2c98 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 6 Apr 2026 10:33:14 -0700 Subject: [PATCH 124/181] leave apar stepping even if apar is static since it is already forcing dApar/dt = 0 --- gyrokinetic/apps/gk_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 4a38818e6e..73e387cf21 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -393,7 +393,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) } if (f->is_em) { assert(f->info.mu0 > 0.0); - f->step_apar = f->info.is_apar_static ? gk_field_step_apar_disabled : gk_field_step_apar_enabled; + f->step_apar = gk_field_step_apar_enabled; f->em_combine_func = gk_field_combine_enabled; f->em_copy_func = gk_field_copy_range_enabled; } else { From 267e8eda24d4d509f6ddb1ff55e75781b2b2377c Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 6 Apr 2026 13:34:09 -0400 Subject: [PATCH 125/181] rerunning the maaxima scripts changes the kernel for unknown reason, maybe it is equivalent. let's check... --- .../dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c index 0b083c62b0..bc8238da1c 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c @@ -23,8 +23,6 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const double rdvpar2 = 2.0/dxv[2]; double rdmu2 = 2.0/dxv[3]; - double rdvpar2Sq = rdvpar2*rdvpar2; - double dvparSq = dxv[2]*dxv[2]; const double *b_x = &b_i[0]; const double *b_y = &b_i[4]; @@ -57,14 +55,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const hamil2[1] = hamil[16]*hamil[16]; double alphax[24] = {0.}; - alphax[0] = (((-(0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[1] = (((-(0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[3] = (((-(1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[0]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[3])-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[6] = (((-(1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_y[3]*hamil[16])-1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[0] = (((-(0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[0]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[3])-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_y[3]*hamil[16])-1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; out[1] += 0.4330127018922193*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -81,14 +79,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphax[1]*fin[23]+0.43301270189221935*(alphax[0]*fin[22]+alphax[5]*fin[21])+0.4330127018922193*alphax[2]*fin[19]+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); double alphaz[24] = {0.}; - alphaz[0] = ((0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/(vmap[1]*m_); - alphaz[1] = ((0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/(vmap[1]*m_); - alphaz[2] = ((0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/(vmap[1]*m_); - alphaz[3] = ((0.7905694150420947*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[0]*hamil[16])*rdz2)/(vmap[1]*m_); - alphaz[5] = ((0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/(vmap[1]*m_); - alphaz[6] = ((0.7905694150420947*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[1]*hamil[16])*rdz2)/(vmap[1]*m_); - alphaz[7] = ((0.7905694150420947*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[2]*hamil[16])*rdz2)/(vmap[1]*m_); - alphaz[11] = ((0.7905694150420947*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[2]*hamil[16])*rdz2)/(vmap[1]*m_); + alphaz[0] = (((0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3]+0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[1] = (((0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[3] = (((1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16]+1.369306393762915*bioverJB_y[0]*apar[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[0]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[5] = (((0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[3]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[6] = (((1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[1]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[7] = (((1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[11] = (((1.369306393762915*apar[1]*bioverJB_y[3]*hamil[16]+1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; out[2] += 0.4330127018922193*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -105,14 +103,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphaz[2]*fin[23]+0.43301270189221935*(alphaz[5]*fin[22]+alphaz[0]*fin[21])+0.4330127018922193*alphaz[1]*fin[19]+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); double alphavpar[24] = {0.}; - alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[5]-0.6123724356957944*bioverJB_y[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_z[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[5]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_y[3]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[2]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_x[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[5])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[12]-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[5])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_y[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_y[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[9]+0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[12])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[12])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[9]-0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[8]+0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[5]-0.6123724356957944*bioverJB_y[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_x[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_z[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_z[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[5]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_y[3]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[2]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_z[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[5])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_z[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[12]-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[5])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_y[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_y[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_x[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_z[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_z[2]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[9]+0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[12])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[12])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[9]-0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[8]+0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_x[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_z[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; out[3] += 0.4330127018922193*(alphavpar[12]*fin[12]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); From 06c3289efae8fb089eee7bf83a2cd0ff2c1dd523 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 6 Apr 2026 15:42:10 -0400 Subject: [PATCH 126/181] this seems more correct fomr the gkylcas pov but I don't see any difference in the test simulation --- .../dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c | 48 +++---- .../dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c | 128 +++++++++--------- 2 files changed, 88 insertions(+), 88 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c index bc8238da1c..a5bad6c840 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const hamil2[1] = hamil[16]*hamil[16]; double alphax[24] = {0.}; - alphax[0] = (((-(0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[1] = (((-(0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[3] = (((-(1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[0]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[3])-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[6] = (((-(1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_y[3]*hamil[16])-1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[0] = (((-(0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[0]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[3])-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_y[3]*hamil[16])-1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; out[1] += 0.4330127018922193*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -79,14 +79,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphax[1]*fin[23]+0.43301270189221935*(alphax[0]*fin[22]+alphax[5]*fin[21])+0.4330127018922193*alphax[2]*fin[19]+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); double alphaz[24] = {0.}; - alphaz[0] = (((0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3]+0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[1] = (((0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[2] = (((0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[3] = (((1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16]+1.369306393762915*bioverJB_y[0]*apar[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[0]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[5] = (((0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[3]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[6] = (((1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[1]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[7] = (((1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[11] = (((1.369306393762915*apar[1]*bioverJB_y[3]*hamil[16]+1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[0] = (((0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3]+0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[1] = (((0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[3] = (((1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16]+1.369306393762915*bioverJB_y[0]*apar[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[0]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[5] = (((0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[3]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[6] = (((1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[1]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[7] = (((1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[11] = (((1.369306393762915*apar[1]*bioverJB_y[3]*hamil[16]+1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; out[2] += 0.4330127018922193*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -103,14 +103,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphaz[2]*fin[23]+0.43301270189221935*(alphaz[5]*fin[22]+alphaz[0]*fin[21])+0.4330127018922193*alphaz[1]*fin[19]+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); double alphavpar[24] = {0.}; - alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[5]-0.6123724356957944*bioverJB_y[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_x[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_z[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_z[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[5]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_y[3]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[2]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_z[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[5])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_z[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[12]-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[5])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_y[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_y[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_x[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_z[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_z[2]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[9]+0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[12])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[12])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[9]-0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[8]+0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_x[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_z[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[5]-0.6123724356957944*bioverJB_y[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_z[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[5]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_y[3]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[2]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_x[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[5])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[12]-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[5])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_y[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_y[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[9]+0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[12])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[12])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[9]-0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[8]+0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; out[3] += 0.4330127018922193*(alphavpar[12]*fin[12]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c index d2f445577a..898842baeb 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c @@ -60,22 +60,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const hamil2[1] = hamil[32]*hamil[32]; double alphax[48] = {0.}; - alphax[0] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7]+0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[6]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[1] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[6]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[2] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[3] = (((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5])-0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[6]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5]+0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[4] = (((-(0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[0]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[6] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[7] = (((-(0.3061862178478971*apar[3]*hamil[4]*bioverJB_y[5])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[6]+0.3061862178478971*apar[2]*hamil[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[8] = (((-(0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[9] = (((-(0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[5]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[1]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[10] = (((-(0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[11] = (((-(0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32])-0.6846531968814573*apar[3]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[6]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[16] = (((-(0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[17] = (((-(0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[18] = (((-(0.6846531968814573*apar[3]*bioverJB_y[5]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[6]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[5]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[19] = (((-(0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[26] = (((-(0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[5]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[4]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[0] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7]+0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[6]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[6]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5])-0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[6]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5]+0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[4] = (((-(0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[0]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(0.3061862178478971*apar[3]*hamil[4]*bioverJB_y[5])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[6]+0.3061862178478971*apar[2]*hamil[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[8] = (((-(0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[9] = (((-(0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[5]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[1]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[10] = (((-(0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32])-0.6846531968814573*apar[3]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[6]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[16] = (((-(0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[17] = (((-(0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[18] = (((-(0.6846531968814573*apar[3]*bioverJB_y[5]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[6]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[5]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[19] = (((-(0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[26] = (((-(0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[5]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[4]*hamil[32])*rdx2)/vmap[1])/m_; out[1] += 0.3061862178478971*(alphax[26]*fin[26]+alphax[19]*fin[19]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[16]*fin[16]+alphax[11]*fin[11]+alphax[10]*fin[10]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -104,22 +104,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphax[1]*fin[47]+alphax[0]*fin[46]+alphax[6]*fin[45]+alphax[7]*fin[44]+alphax[2]*fin[42]+alphax[3]*fin[41]+alphax[16]*fin[40]+alphax[8]*fin[36])+0.273861278752583*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[17]*fin[29]+alphax[18]*fin[28]+fin[23]*alphax[26]+alphax[10]*fin[25]+alphax[11]*fin[24]+fin[15]*alphax[19]); double alphay[48] = {0.}; - alphay[0] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[1] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_z[5])-0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[2] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[3] = (((0.3061862178478971*hamil[4]*apar[5]*bioverJB_x[5]+0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[5])-0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[4] = (((0.6846531968814573*bioverJB_x[1]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[0]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[6] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7])-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[7] = (((0.3061862178478971*apar[3]*hamil[4]*bioverJB_x[5]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[5])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*hamil[4]*bioverJB_z[5])-0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[8] = (((0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[9] = (((0.6846531968814573*bioverJB_x[0]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[5]*bioverJB_z[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[1]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[10] = (((0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[11] = (((0.6846531968814573*apar[5]*bioverJB_x[5]*hamil[32]+0.6846531968814573*apar[3]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[16] = (((0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7])-0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[17] = (((0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[18] = (((0.6846531968814573*apar[3]*bioverJB_x[5]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[5]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[1]*bioverJB_z[5]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[19] = (((0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[26] = (((0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32])-0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[4]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[0] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[1] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_z[5])-0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[2] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[3] = (((0.3061862178478971*hamil[4]*apar[5]*bioverJB_x[5]+0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[5])-0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[4] = (((0.6846531968814573*bioverJB_x[1]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[0]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[6] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7])-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[7] = (((0.3061862178478971*apar[3]*hamil[4]*bioverJB_x[5]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[5])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*hamil[4]*bioverJB_z[5])-0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[8] = (((0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[9] = (((0.6846531968814573*bioverJB_x[0]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[5]*bioverJB_z[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[1]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[10] = (((0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[11] = (((0.6846531968814573*apar[5]*bioverJB_x[5]*hamil[32]+0.6846531968814573*apar[3]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[16] = (((0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7])-0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[17] = (((0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[18] = (((0.6846531968814573*apar[3]*bioverJB_x[5]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[5]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[1]*bioverJB_z[5]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[19] = (((0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[26] = (((0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32])-0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[4]*hamil[32])*rdy2)/vmap[1])/m_; out[2] += 0.3061862178478971*(alphay[26]*fin[26]+alphay[19]*fin[19]+alphay[18]*fin[18]+alphay[17]*fin[17]+alphay[16]*fin[16]+alphay[11]*fin[11]+alphay[10]*fin[10]+alphay[9]*fin[9]+alphay[8]*fin[8]+alphay[7]*fin[7]+alphay[6]*fin[6]+alphay[4]*fin[4]+alphay[3]*fin[3]+alphay[2]*fin[2]+alphay[1]*fin[1]+alphay[0]*fin[0]); @@ -148,22 +148,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphay[2]*fin[47]+alphay[6]*fin[46]+alphay[0]*fin[45]+alphay[8]*fin[44]+alphay[1]*fin[42]+alphay[16]*fin[41]+alphay[3]*fin[40]+alphay[7]*fin[36])+0.273861278752583*(alphay[10]*fin[31]+alphay[17]*fin[30]+alphay[4]*fin[29]+alphay[19]*fin[28]+fin[24]*alphay[26]+alphay[9]*fin[25]+alphay[11]*fin[23]+fin[15]*alphay[18]); double alphaz[48] = {0.}; - alphaz[0] = (((-(0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7])-0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6]-0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[1] = (((-(0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5]+0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[2] = (((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[3] = (((-(0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6]-0.3061862178478971*apar[4]*hamil[4]*bioverJB_x[5]-0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5]+0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[4] = (((-(0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[0]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[6] = (((0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[7] = (((-(0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6]-0.3061862178478971*apar[2]*hamil[4]*bioverJB_x[5]-0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*hamil[4]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[8] = (((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[9] = (((-(0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[1]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[10] = (((0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[11] = (((-(0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32]-0.6846531968814573*apar[4]*bioverJB_x[5]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[16] = (((0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[17] = (((0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[18] = (((-(0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[5]*hamil[32]-0.6846531968814573*bioverJB_x[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[1]*bioverJB_y[5]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[19] = (((0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[26] = (((0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_y[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[4]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[0] = (((-(0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7])-0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6]-0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[1] = (((-(0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5]+0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[3] = (((-(0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6]-0.3061862178478971*apar[4]*hamil[4]*bioverJB_x[5]-0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5]+0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[4] = (((-(0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[0]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[6] = (((0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[7] = (((-(0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6]-0.3061862178478971*apar[2]*hamil[4]*bioverJB_x[5]-0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*hamil[4]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[8] = (((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[9] = (((-(0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[1]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[10] = (((0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[11] = (((-(0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32]-0.6846531968814573*apar[4]*bioverJB_x[5]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[16] = (((0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[17] = (((0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[18] = (((-(0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[5]*hamil[32]-0.6846531968814573*bioverJB_x[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[1]*bioverJB_y[5]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[19] = (((0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[26] = (((0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_y[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[4]*hamil[32])*rdz2)/vmap[1])/m_; out[3] += 0.3061862178478971*(alphaz[26]*fin[26]+alphaz[19]*fin[19]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[16]*fin[16]+alphaz[11]*fin[11]+alphaz[10]*fin[10]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -192,22 +192,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphaz[3]*fin[47]+alphaz[7]*fin[46]+alphaz[8]*fin[45]+alphaz[0]*fin[44]+alphaz[16]*fin[42]+alphaz[1]*fin[41]+alphaz[2]*fin[40]+alphaz[6]*fin[36])+0.273861278752583*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[19]*fin[29]+alphaz[4]*fin[28]+fin[25]*alphaz[26]+alphaz[9]*fin[24]+alphaz[10]*fin[23]+fin[15]*alphaz[17]); double alphavpar[48] = {0.}; - alphavpar[0] = (((-(0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[16])-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_x[5]*hamil[8]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[7]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[7]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[7]+0.3061862178478971*bioverJB_y[1]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[5]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[5]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[3]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[7]-0.1767766952966368*hamil[3]*apar[5]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[3]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[8]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[7]+0.3061862178478971*apar[5]*bioverJB_z[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[5]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[4]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[2]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[2]*apar[5]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_x[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[2]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[16]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[5]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_z[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[1]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[1] = (((-(0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[16])-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[16]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[8]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[8]+0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[7]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[7]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[7]-0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[6]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[7]+0.3061862178478971*bioverJB_y[0]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[6]-0.3061862178478971*hamil[3]*apar[5]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[3]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[7]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[7]-0.1767766952966368*apar[3]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[7]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[7]+0.3061862178478971*bioverJB_z[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[6]+0.3061862178478971*hamil[2]*apar[5]*bioverJB_z[5]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[4]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[2]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[6]-0.31819805153394626*apar[1]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[6]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[2]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[1]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[2] = (((0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[8]-0.3061862178478971*bioverJB_x[0]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[8]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[7]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[16]-0.1767766952966368*apar[5]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_y[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[7]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[7]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[5]*apar[7]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[3] = (((-(0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[7]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[6]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[6]-0.3061862178478971*hamil[2]*apar[5]*bioverJB_x[5]+0.3061862178478971*hamil[3]*apar[4]*bioverJB_x[5]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[3]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[16]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[7]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[5]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[6]+0.3061862178478971*hamil[1]*apar[5]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[3]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[7]-0.1767766952966368*apar[1]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[8]-0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[7]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[6]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[6]-0.3061862178478971*hamil[1]*apar[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[5]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[3]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[3])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[8]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[5]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[6]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[5]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_z[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; - alphavpar[5] = (((0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[21]-0.3061862178478971*bioverJB_z[5]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[6] = (((0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[8]-0.5511351921262146*bioverJB_x[1]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[8]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[7]-0.3061862178478971*hamil[3]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[16]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_y[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[8]+0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[5]*apar[7]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[5]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[7] = (((-(0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[8]+0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[7]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[7]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[7]-0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[6]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[6]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[6]+0.3061862178478971*apar[2]*hamil[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[5]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[8]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[7]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[3]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[6]-0.3061862178478971*apar[1]*hamil[3]*bioverJB_y[5]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[5]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[7]-0.1767766952966368*apar[0]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[5]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[16]+0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[8]-0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[6]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[6]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[5]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[5]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*apar[5]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_x[5]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[6]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[5]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[6]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[5]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_z[3]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; - alphavpar[8] = (((0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[16]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[16]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[8]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[8]-0.3061862178478971*bioverJB_x[3]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[16])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[8]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[7]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[7]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[7]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[6]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[6]-0.1767766952966368*hamil[3]*apar[4]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[3])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[6]-0.1767766952966368*hamil[2]*apar[4]*dualcurlbhatoverB_x[5]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_x[3])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[4]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_z[3])*rdx2)/vmap[1])/m_; - alphavpar[12] = (((0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[21]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[21]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[21])-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[21]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[13] = (((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[21]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[14] = (((0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[14]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[21])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[14]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[12]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[12]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*apar[3]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[16] = (((0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[8]-0.5511351921262146*bioverJB_x[5]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[7]-0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[16])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[7]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[7]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[6]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[6]-0.3061862178478971*hamil[3]*apar[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[7]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[3]*apar[6]-0.1767766952966368*apar[2]*hamil[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[3]*apar[4])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[6]+0.3061862178478971*hamil[2]*apar[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*dualcurlbhatoverB_x[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_x[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[6]-0.31819805153394626*apar[4]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[2]*apar[6]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_x[3]*apar[4])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[1]*apar[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_z[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_z[3]*apar[4])*rdx2)/vmap[1])/m_; - alphavpar[20] = (((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[21]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[21] = (((0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[21]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[21])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[14]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[22] = (((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[14]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[3]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[12]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[27] = (((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[14]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[14]+0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[21]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[3]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[0] = (((-(0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[16])-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_x[5]*hamil[8]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[7]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[7]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[7]+0.3061862178478971*bioverJB_y[1]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[5]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[5]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[3]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[7]-0.1767766952966368*hamil[3]*apar[5]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[8]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[7]+0.3061862178478971*apar[5]*bioverJB_z[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[5]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[4]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[2]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[2]*apar[5]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[16]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[5]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((-(0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[16])-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[16]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[8]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[8]+0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[7]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[7]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[7]-0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[6]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[7]+0.3061862178478971*bioverJB_y[0]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[6]-0.3061862178478971*hamil[3]*apar[5]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[3]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[7]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[7]-0.1767766952966368*apar[3]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[7]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[7]+0.3061862178478971*bioverJB_z[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[6]+0.3061862178478971*hamil[2]*apar[5]*bioverJB_z[5]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[4]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[2]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[6]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[6]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[8]-0.3061862178478971*bioverJB_x[0]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[8]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[7]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[16]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[7]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[7]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[7]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[3] = (((-(0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[7]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[6]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[6]-0.3061862178478971*hamil[2]*apar[5]*bioverJB_x[5]+0.3061862178478971*hamil[3]*apar[4]*bioverJB_x[5]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[3]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[16]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[7]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[5]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[6]+0.3061862178478971*hamil[1]*apar[5]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[3]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[7]-0.1767766952966368*apar[1]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[8]-0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[7]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[6]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[6]-0.3061862178478971*hamil[1]*apar[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[5]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[3]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[3])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[5]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[6]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[5]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[21]-0.3061862178478971*bioverJB_z[5]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[6] = (((0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[8]-0.5511351921262146*bioverJB_x[1]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[8]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[7]-0.3061862178478971*hamil[3]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[16]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[8]+0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[5]*apar[7]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[7] = (((-(0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[8]+0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[7]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[7]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[7]-0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[6]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[6]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[6]+0.3061862178478971*apar[2]*hamil[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[5]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[8]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[7]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[3]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[6]-0.3061862178478971*apar[1]*hamil[3]*bioverJB_y[5]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[5]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[7]-0.1767766952966368*apar[0]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[5]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[16]+0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[8]-0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[6]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[6]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[5]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[5]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*apar[5]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[6]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[5]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[6]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[5]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[16]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[16]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[8]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[8]-0.3061862178478971*bioverJB_x[3]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[16])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[8]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[7]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[7]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[7]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[6]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[6]-0.1767766952966368*hamil[3]*apar[4]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[3])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[6]-0.1767766952966368*hamil[2]*apar[4]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[3])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[4]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[3])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[21]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[21]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[21]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[13] = (((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[21]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[14] = (((0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[14]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[21])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[14]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[12]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[12]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[16] = (((0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[8]-0.5511351921262146*bioverJB_x[5]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[7]-0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[16])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[7]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[7]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[6]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[6]-0.3061862178478971*hamil[3]*apar[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[7]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[6]-0.1767766952966368*apar[2]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[4])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[6]+0.3061862178478971*hamil[2]*apar[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*dualcurlbhatoverB_y[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[6]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[6]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[4])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[4])*rdx2)/vmap[1])/m_; + alphavpar[20] = (((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[21]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[21] = (((0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[21]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[21])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[14]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[22] = (((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[14]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[12]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[27] = (((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[14]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[14]+0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[21]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[12])*rdx2)/vmap[1])/m_; out[4] += 0.3061862178478971*(alphavpar[27]*fin[27]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[16]*fin[16]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); From 561c01bdce9d570e025766978382829c8ef679d2 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 7 Apr 2026 13:22:45 -0400 Subject: [PATCH 127/181] the electrostatic contribution is not written in one line anymore, this allows to simplify the maxima code. --- ...nless_flux_em_no_by_surfvpar_2x2v_ser_p1.c | 16 +- ...nless_flux_em_no_by_surfvpar_3x2v_ser_p1.c | 32 ++-- ..._flux_em_star_no_by_surfvpar_2x2v_ser_p1.c | 16 +- ..._flux_em_star_no_by_surfvpar_3x2v_ser_p1.c | 32 ++-- ...onless_flux_em_star_surfvpar_1x1v_ser_p1.c | 6 +- ...onless_flux_em_star_surfvpar_1x2v_ser_p1.c | 12 +- ...onless_flux_em_star_surfvpar_2x2v_ser_p1.c | 32 +++- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 164 +++++++++++------- ...llisionless_flux_em_surfvpar_1x1v_ser_p1.c | 6 +- ...llisionless_flux_em_surfvpar_1x2v_ser_p1.c | 12 +- ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 32 +++- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 164 +++++++++++------- ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 16 +- ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 32 ++-- ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 6 +- ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 12 +- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 32 +++- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 80 +++++++-- 18 files changed, 456 insertions(+), 246 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c index 9960f87ece..0a5d9c3bdd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c @@ -70,7 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -80,7 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -134,7 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -144,7 +144,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -166,7 +166,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -176,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c index f17e7210c7..83850b2dcb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c @@ -75,7 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -85,7 +85,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -107,7 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -117,7 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -149,7 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -171,7 +171,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -181,7 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[4].g_33; mag_e_3 = gkdgv[4].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -213,7 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -235,7 +235,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[5].g_33; mag_e_3 = gkdgv[5].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -245,7 +245,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -267,7 +267,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[6].g_33; mag_e_3 = gkdgv[6].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -277,7 +277,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -299,7 +299,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[7].g_33; mag_e_3 = gkdgv[7].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -309,7 +309,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c index aa09067e70..d17d941b99 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c @@ -70,7 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -100,7 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -130,7 +130,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -160,7 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c index 7c16b44bc7..d34e10d738 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c @@ -75,7 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -84,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -114,7 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -135,7 +135,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -144,7 +144,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -165,7 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -174,7 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -195,7 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[4].g_33; mag_e_3 = gkdgv[4].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -204,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -225,7 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[5].g_33; mag_e_3 = gkdgv[5].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -234,7 +234,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -255,7 +255,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[6].g_33; mag_e_3 = gkdgv[6].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -264,7 +264,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -285,7 +285,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( g_33 = gkdgv[7].g_33; mag_e_3 = gkdgv[7].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -294,7 +294,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c index 3f7f1533e1..e0c6aa029e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c @@ -63,7 +63,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c index ca427e16b1..8fb9185a77 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c @@ -65,7 +65,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -75,7 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -107,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c index 4ae855d703..e916a91757 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c @@ -70,7 +70,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -83,7 +85,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -108,7 +112,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -121,7 +127,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -146,7 +154,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); @@ -159,7 +169,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); @@ -184,7 +196,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); @@ -197,7 +211,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index c9f2ca2ad9..a1315546c2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -75,7 +75,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; @@ -90,7 +93,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; @@ -117,10 +123,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -132,10 +141,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -159,10 +171,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -174,10 +189,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -201,10 +219,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -216,10 +237,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -243,10 +267,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[4].g_33; mag_e_3 = gkdgv[4].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -258,10 +285,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -285,10 +315,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[5].g_33; mag_e_3 = gkdgv[5].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -300,10 +333,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -327,10 +363,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[6].g_33; mag_e_3 = gkdgv[6].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -342,10 +381,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -369,10 +411,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( g_33 = gkdgv[7].g_33; mag_e_3 = gkdgv[7].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -384,10 +429,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c index 2989bfd7d0..8c97527add 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c @@ -63,7 +63,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); @@ -86,7 +87,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c index d248598c35..384ab7c242 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c @@ -65,7 +65,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); @@ -76,7 +77,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); @@ -99,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c index 626389a2ec..96d0890885 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c @@ -70,7 +70,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -84,7 +86,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -110,7 +114,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -124,7 +130,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); @@ -150,7 +158,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); @@ -164,7 +174,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); @@ -190,7 +202,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); @@ -204,7 +218,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index 3dd040864b..8749770574 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -75,7 +75,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[0].g_33; mag_e_3 = gkdgv[0].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; @@ -91,7 +94,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; @@ -119,10 +125,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[1].g_33; mag_e_3 = gkdgv[1].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -135,10 +144,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -163,10 +175,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[2].g_33; mag_e_3 = gkdgv[2].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -179,10 +194,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -207,10 +225,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[3].g_33; mag_e_3 = gkdgv[3].mag_e_3; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -223,10 +244,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -251,10 +275,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[4].g_33; mag_e_3 = gkdgv[4].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -267,10 +294,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -295,10 +325,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[5].g_33; mag_e_3 = gkdgv[5].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -311,10 +344,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -339,10 +375,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[6].g_33; mag_e_3 = gkdgv[6].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -355,10 +394,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -383,10 +425,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( g_33 = gkdgv[7].g_33; mag_e_3 = gkdgv[7].mag_e_3; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); @@ -399,10 +444,13 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index e9cd2a02a3..dac0eb306d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -59,7 +59,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -68,7 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -84,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -134,7 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -143,7 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 80f1415fb5..bc4e135bb5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -64,7 +64,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -73,7 +73,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -114,7 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -148,7 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -164,7 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -173,7 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -214,7 +214,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -223,7 +223,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -239,7 +239,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad ; + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index d7d9e3ffbc..786ebf6bcc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -52,7 +52,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; @@ -68,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index 2605f00d88..7417d4164d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -54,7 +54,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -63,7 +64,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -79,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -88,7 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 40b8d09f56..7ff1b44199 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -59,7 +59,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -68,7 +70,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -84,7 +88,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -93,7 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -109,7 +117,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -118,7 +128,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -134,7 +146,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -143,7 +157,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1])-((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index 515d1b1f98..0ceca0c8cf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -64,7 +64,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -73,7 +76,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -89,7 +95,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -98,7 +107,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -114,7 +126,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -123,7 +138,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -139,7 +157,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -148,7 +169,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -164,7 +188,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -173,7 +200,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -189,7 +219,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -198,7 +231,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -214,7 +250,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -223,7 +262,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -239,7 +281,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -248,7 +293,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1])-((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; From 5f3b878c832006e44a2996d0ccf22fb47705a97f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 7 Apr 2026 13:37:48 -0400 Subject: [PATCH 128/181] standardize the space at the end of the line. --- ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...isionless_flux_em_edge_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...lux_em_multib_boundary_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ..._collisionless_flux_em_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 24 +++++++++---------- ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 24 +++++++++---------- .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 24 +++++++++---------- 12 files changed, 144 insertions(+), 144 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index 54f701c4de..504b0aaf8f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c index 457ae57c6e..4bea67af76 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +91,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +156,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +167,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +200,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c index 035985c9ac..ebc7824711 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +116,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +127,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +214,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c index c789feeaab..a974c432a3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +116,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +127,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +214,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c index 166f58b19f..af712a1116 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +91,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +156,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +167,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +200,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c index 9742dac181..370c1eb0ea 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +116,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +127,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +214,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c index 72d8bee3db..3844cc89a9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +116,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +127,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +214,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c index 5e84833bd1..3bbde6882b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +91,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +156,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +167,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +200,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c index f23c376835..d133d7f659 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +91,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +156,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +167,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +200,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index 3b707055bf..81c771ad0c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -147,7 +147,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -156,7 +156,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -165,7 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -174,7 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index b7c585f799..684a1e4eb1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -147,7 +147,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -156,7 +156,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -165,7 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index 528b7070de..7d546cb447 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); From eeacdd17e7f49f5708827cc2ed2e153ac1351f55 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 7 Apr 2026 13:51:45 -0400 Subject: [PATCH 129/181] split the electrostatic contributions between parallel streaming and curvature drift. This simplidies the maxima logic. --- ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...lux_em_multib_boundary_surfx_2x2v_ser_p1.c | 36 ++++++---- ...lux_em_multib_boundary_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...lux_em_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++++++---- ...lux_em_multib_boundary_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...lux_em_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...less_flux_em_star_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...r_multib_boundary_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...r_multib_boundary_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...r_multib_boundary_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...r_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_star_multib_boundary_surfx_2x2v_ser_p1.c | 36 ++++++---- ...m_star_multib_boundary_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++++++---- ...m_star_multib_boundary_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_star_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_star_surfx_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ..._collisionless_flux_em_surfx_2x2v_ser_p1.c | 36 ++++++---- ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ..._collisionless_flux_em_surfy_2x2v_ser_p1.c | 36 ++++++---- ..._collisionless_flux_em_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ..._collisionless_flux_em_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 36 ++++++---- ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++++++---- ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- .../gk_collisionless_flux_surfx_2x2v_ser_p1.c | 36 ++++++---- .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 36 ++++++---- .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- 60 files changed, 2304 insertions(+), 1152 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index b42929a7c1..d20a55e66f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 6ffcb3b181..7069dfdc76 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index 504b0aaf8f..cf53960b2a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 1fb10c7e31..c427818757 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -74,7 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -92,7 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -101,7 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -110,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,7 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,7 +144,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -147,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -156,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -165,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,7 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -211,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -220,7 +234,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -229,7 +244,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -238,7 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -247,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -266,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -275,7 +294,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -284,7 +304,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -293,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -302,7 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -311,7 +334,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index 07e496557a..b7cc942d31 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c index 543122e6e1..ad46012cfb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index 21cd3f2031..adb507ce54 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c index 4bea67af76..3d73195136 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c index 0fe90bc65a..f6f7c93c63 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c @@ -74,7 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -96,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -107,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -129,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -150,7 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -161,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -172,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -183,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -237,7 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -248,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -259,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -270,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -281,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -302,7 +320,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -313,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -324,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -335,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -346,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c index 7a83ba0f4b..292aa63c7f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c index 34004a4621..25d1ab21a7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c index e78f7c7f70..aabe9ae468 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c index ebc7824711..610fbfba30 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c index 2c43901ca5..e1e17cc518 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -100,7 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -122,7 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -133,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -144,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -155,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -176,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -187,7 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -198,7 +206,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -209,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -220,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -252,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +276,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -274,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -285,7 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -296,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -307,7 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -328,7 +346,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -339,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -350,7 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -361,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -372,7 +394,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +406,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c index 563eb0d645..d52061210b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c index f1e0ed2e6f..fa42cf3f03 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c index a08bcb0502..46c6a90ffd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c index a974c432a3..eccf2b6485 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c index 312892cec8..38e9eeebe9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c @@ -100,7 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -122,7 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -133,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -144,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -155,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -176,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -187,7 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -198,7 +206,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -209,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -220,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -252,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +276,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -274,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -285,7 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -296,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -307,7 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -328,7 +346,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -339,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -350,7 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -361,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -372,7 +394,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +406,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c index 0fe30219a5..f63c017e5e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c index 82c9d44359..c6b13686fb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c index 644327770f..f868b98cbb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c index af712a1116..19995f12b5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c index 70fa8792a5..2c5db771cf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c @@ -74,7 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -96,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -107,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -129,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -150,7 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -161,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -172,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -183,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -237,7 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -248,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -259,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -270,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -281,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -302,7 +320,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -313,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -324,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -335,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -346,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c index dde338cae6..7d5e8bf199 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c index 3e7ca37c52..0140cc770c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c index aaa1f5f526..00585ff530 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c index 370c1eb0ea..9158dd797a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c index cd9733339a..366d2a07f4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -100,7 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -122,7 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -133,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -144,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -155,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -176,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -187,7 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -198,7 +206,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -209,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -220,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -252,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +276,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -274,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -285,7 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -296,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -307,7 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -328,7 +346,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -339,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -350,7 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -361,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -372,7 +394,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +406,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c index 7e945d1213..403ccec69a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c index 0d08c4712f..d99d73413e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c index 91ce1d5dc3..6df1b38376 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c index 3844cc89a9..cb3ae87781 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -116,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -127,7 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -138,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -159,7 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -170,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -192,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c index 19a1a165f5..efc88d3c2c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c @@ -100,7 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -122,7 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -133,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -144,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -155,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -176,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -187,7 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -198,7 +206,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -209,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -220,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -252,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +276,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -274,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -285,7 +300,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -296,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -307,7 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -328,7 +346,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -339,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -350,7 +370,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -361,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -372,7 +394,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +406,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c index 14e533ab79..3710e3c8a9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -120,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -142,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -153,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -174,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -185,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -196,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -207,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -218,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -250,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -272,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -283,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -294,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -305,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -326,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -337,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -348,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -359,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -370,7 +392,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c index 92557904d8..c062fe363d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c index d2112db809..f76429fba5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c index 3bbde6882b..5c87e72750 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c index 9b5f6282d9..3873b6555f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c @@ -74,7 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -96,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -107,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -129,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -150,7 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -161,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -172,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -183,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -237,7 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -248,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -259,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -270,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -281,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -302,7 +320,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -313,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -324,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -335,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -346,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c index 80deed09d6..258ead1235 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c index dbf9971dc9..c5526e3b1d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index b1570cade8..5e0e6cc600 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c index d133d7f659..9ac3cb97e8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -91,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -102,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -124,7 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -167,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -189,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c index 11bfc03e8e..3364005980 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c @@ -74,7 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -96,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -107,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -129,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -150,7 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -161,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -172,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -183,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +216,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -237,7 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -248,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -259,7 +274,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -270,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -281,7 +298,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -302,7 +320,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -313,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -324,7 +344,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -335,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -346,7 +368,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +380,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c index d95b14e1e5..c3318c6cd3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -116,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -127,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -148,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -170,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -192,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -224,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -257,7 +272,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -268,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -279,7 +296,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -300,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -322,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -333,7 +354,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -344,7 +366,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index ecd3ba844a..8668e498be 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index da7d97aeb6..fc3b8f246b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index 81c771ad0c..a81ff09dbb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index 5ca2d688a4..a7104a5c12 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -100,7 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -118,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -127,7 +130,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -136,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +150,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,7 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -209,7 +220,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -237,7 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -255,7 +270,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +280,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -273,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -292,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -301,7 +320,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -310,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -319,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -328,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -337,7 +360,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index 9ae1961330..9e1a55b957 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index c1cc0f5020..75cbb22062 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index 5c61b1f8a9..59cd8de219 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index 684a1e4eb1..facf9ca8fd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index e8bf6132d6..acb8705944 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -100,7 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -118,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -127,7 +130,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -136,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -145,7 +150,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -164,7 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -173,7 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -182,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -209,7 +220,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -228,7 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -237,7 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -246,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -255,7 +270,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -264,7 +280,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -273,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -292,7 +310,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -301,7 +320,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -310,7 +330,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -319,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -328,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -337,7 +360,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index da17447f50..f359b6db31 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index dba5b7cb2d..83887770c7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 00d228fa69..d8da1e4e90 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index 7d546cb447..8abd60acea 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index 359e2550e7..6defc24114 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -74,7 +74,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -92,7 +94,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -101,7 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -110,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,7 +124,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,7 +144,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -147,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -156,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -165,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,7 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,7 +214,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -211,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -220,7 +234,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -229,7 +244,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -238,7 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -247,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -266,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -275,7 +294,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -284,7 +304,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -293,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -302,7 +324,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -311,7 +334,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad = 0.0; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index 192ec8bdf9..dcafa9d0e3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad) + mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad) + mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad) + mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); From a16ea9b7e38e144d33a22aa2767e7659cfb4263f Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 7 Apr 2026 13:59:21 -0400 Subject: [PATCH 130/181] another logic simplification of the kernels generation. --- ...ollisionless_flux_edge_surfx_1x1v_ser_p1.c | 3 + ...ollisionless_flux_edge_surfx_1x2v_ser_p1.c | 6 ++ ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_edge_surfx_1x1v_ser_p1.c | 3 + ...isionless_flux_em_edge_surfx_1x2v_ser_p1.c | 6 ++ ...isionless_flux_em_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_multib_boundary_edge_surfx_1x1v_ser_p1.c | 3 + ...m_multib_boundary_edge_surfx_1x2v_ser_p1.c | 6 ++ ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...lux_em_multib_boundary_surfx_1x1v_ser_p1.c | 3 + ...lux_em_multib_boundary_surfx_1x2v_ser_p1.c | 6 ++ ...lux_em_multib_boundary_surfx_2x2v_ser_p1.c | 36 ++++++---- ...lux_em_multib_boundary_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...lux_em_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++++++---- ...lux_em_multib_boundary_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...lux_em_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...less_flux_em_star_edge_surfx_1x1v_ser_p1.c | 3 + ...less_flux_em_star_edge_surfx_1x2v_ser_p1.c | 6 ++ ...less_flux_em_star_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...r_multib_boundary_edge_surfx_1x1v_ser_p1.c | 3 + ...r_multib_boundary_edge_surfx_1x2v_ser_p1.c | 6 ++ ...r_multib_boundary_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...r_multib_boundary_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...r_multib_boundary_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...r_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_star_multib_boundary_surfx_1x1v_ser_p1.c | 3 + ...m_star_multib_boundary_surfx_1x2v_ser_p1.c | 6 ++ ...m_star_multib_boundary_surfx_2x2v_ser_p1.c | 36 ++++++---- ...m_star_multib_boundary_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++++++---- ...m_star_multib_boundary_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...m_star_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_star_surfx_1x1v_ser_p1.c | 3 + ...isionless_flux_em_star_surfx_1x2v_ser_p1.c | 6 ++ ...isionless_flux_em_star_surfx_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 36 ++++++---- ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ..._collisionless_flux_em_surfx_1x1v_ser_p1.c | 3 + ..._collisionless_flux_em_surfx_1x2v_ser_p1.c | 6 ++ ..._collisionless_flux_em_surfx_2x2v_ser_p1.c | 36 ++++++---- ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ..._collisionless_flux_em_surfy_2x2v_ser_p1.c | 36 ++++++---- ..._collisionless_flux_em_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ..._collisionless_flux_em_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...x_multib_boundary_edge_surfx_1x1v_ser_p1.c | 3 + ...x_multib_boundary_edge_surfx_1x2v_ser_p1.c | 6 ++ ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 36 ++++++---- ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++++++---- ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- ...s_flux_multib_boundary_surfx_1x1v_ser_p1.c | 3 + ...s_flux_multib_boundary_surfx_1x2v_ser_p1.c | 6 ++ ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 36 ++++++---- ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++++++---- ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- .../gk_collisionless_flux_surfx_1x1v_ser_p1.c | 3 + .../gk_collisionless_flux_surfx_1x2v_ser_p1.c | 6 ++ .../gk_collisionless_flux_surfx_2x2v_ser_p1.c | 36 ++++++---- .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 72 ++++++++++++------- .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 36 ++++++---- .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 72 ++++++++++++------- .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 72 ++++++++++++------- 84 files changed, 2412 insertions(+), 1152 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c index 21395c014a..d9d8c6878c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -66,6 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,6 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -84,6 +86,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c index 39e7d6f8f4..c0745ed517 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -67,6 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,6 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -85,6 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -94,6 +97,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -103,6 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -112,6 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index d20a55e66f..fb02cca785 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -100,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -110,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -120,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -140,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -150,7 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -160,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -180,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -190,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 7069dfdc76..31eb3a8913 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -103,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -123,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -153,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -193,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -223,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -233,7 +247,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -243,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -253,7 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -263,7 +280,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -293,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -303,7 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -313,7 +334,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -323,7 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -333,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index cf53960b2a..80ee615386 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -100,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -110,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -120,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -140,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -150,7 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -170,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -180,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -190,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index c427818757..79e47bfc3d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -75,7 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -95,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -115,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,7 +130,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -185,7 +195,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -195,7 +206,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,7 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -225,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -255,7 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -265,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -295,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -305,7 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -315,7 +336,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -325,7 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index b7cc942d31..a2942eb6ce 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -93,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -103,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -123,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -143,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -153,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -193,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -223,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -233,7 +247,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -243,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -253,7 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -263,7 +280,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -283,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -293,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -303,7 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -313,7 +334,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -323,7 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -333,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c index c523120459..88113df453 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c @@ -66,6 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,6 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -84,6 +86,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c index 5b1a91cf59..07f6bcbb11 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c @@ -67,6 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,6 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -85,6 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -94,6 +97,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -103,6 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -112,6 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c index ad46012cfb..6bea230e76 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index adb507ce54..87876dda64 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c index 3d73195136..e35d4bb68a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c index f6f7c93c63..0ea29b024c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c @@ -75,7 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -87,7 +88,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -99,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -123,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -135,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -157,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -169,7 +176,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -193,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -217,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -251,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -275,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -287,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -299,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -321,7 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -333,7 +352,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -345,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -369,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c index 292aa63c7f..c47a56acf3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c index 3d0b9f5171..e457920881 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -68,6 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -77,6 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -86,6 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c index 38f15344ea..3b74a2c7a5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -69,6 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -78,6 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -87,6 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -105,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -114,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c index 25d1ab21a7..c913ee4e71 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c index aabe9ae468..3887a7303c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c index 610fbfba30..93e466c316 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c index e1e17cc518..97423aa883 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -113,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -125,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -137,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -149,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -161,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -183,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -195,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -207,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -219,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -243,7 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -265,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -277,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -289,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -301,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -313,7 +329,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -325,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -347,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -359,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -371,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -395,7 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -407,7 +430,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c index d52061210b..2bf533f3ae 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c index 0d6428a5b3..394243a7fc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c @@ -68,6 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -77,6 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -86,6 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c index 1d4dd33bbf..c242961c7c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c @@ -69,6 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -78,6 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -87,6 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -96,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -105,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -114,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c index fa42cf3f03..69262b1929 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c index 46c6a90ffd..7bff59a4d4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c index eccf2b6485..0ac778da02 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c index 38e9eeebe9..59b6370741 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -113,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -125,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -137,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -149,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -161,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -183,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -195,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -207,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -219,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -243,7 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -265,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -277,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -289,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -301,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -313,7 +329,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -325,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -347,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -359,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -371,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -395,7 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -407,7 +430,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c index f63c017e5e..4b1424f41d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c index 78f68add35..0c5c7a448b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c @@ -66,6 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,6 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -84,6 +86,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c index 43bae49e46..52c4f4f6f8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c @@ -67,6 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,6 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -85,6 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -94,6 +97,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -103,6 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -112,6 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c index c6b13686fb..6b167e952a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c index f868b98cbb..c347ea7f74 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c index 19995f12b5..1b6fdf8c43 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c index 2c5db771cf..2a34878e80 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c @@ -75,7 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -87,7 +88,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -99,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -123,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -135,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -157,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -169,7 +176,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -193,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -217,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -251,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -275,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -287,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -299,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -321,7 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -333,7 +352,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -345,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -369,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c index 7d5e8bf199..92d2b8ce0c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c index ba2f277224..f9d4c206bc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -68,6 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -77,6 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -86,6 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c index 6c6e3762ce..be7a260df0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -69,6 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -78,6 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -87,6 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -105,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -114,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c index 0140cc770c..2f8a663411 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c index 00585ff530..d44dc93e16 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c index 9158dd797a..ef85969448 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c index 366d2a07f4..d5c9062374 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -113,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -125,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -137,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -149,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -161,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -183,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -195,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -207,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -219,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -243,7 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -265,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -277,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -289,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -301,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -313,7 +329,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -325,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -347,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -359,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -371,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -395,7 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -407,7 +430,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c index 403ccec69a..161d07ec52 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c index f605e8c5e5..5f086bd889 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c @@ -68,6 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -77,6 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -86,6 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c index 00ac69d1b9..8c9b645369 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c @@ -69,6 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -78,6 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -87,6 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -96,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -105,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -114,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c index d99d73413e..bf9609b67b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c index 6df1b38376..090f74bb16 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c index cb3ae87781..c907452ecf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -96,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -108,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -132,7 +136,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -144,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -166,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -178,7 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -190,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -202,7 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -214,7 +224,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -226,7 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c index efc88d3c2c..d09c4976ba 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -113,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -125,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -137,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -149,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -161,7 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -183,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -195,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -207,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -219,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -231,7 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -243,7 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -265,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -277,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -289,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -301,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -313,7 +329,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -325,7 +342,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -347,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -359,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -371,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -383,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -395,7 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -407,7 +430,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c index 3710e3c8a9..c322f5a43b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -123,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -135,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -147,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -181,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -193,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -205,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -217,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -229,7 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -241,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -263,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -275,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -287,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -299,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -311,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -323,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -345,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -357,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -369,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -381,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -393,7 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -405,7 +428,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c index 49283bbf91..aa81e8a0c7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c @@ -66,6 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,6 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -84,6 +86,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c index 1aae86a624..6175abb89d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c @@ -67,6 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,6 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -85,6 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -94,6 +97,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -103,6 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -112,6 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c index c062fe363d..65b0026fda 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c index f76429fba5..561d69a340 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c index 5c87e72750..36871adf9d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c index 3873b6555f..9f6bd795ee 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c @@ -75,7 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -87,7 +88,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -99,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -123,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -135,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -157,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -169,7 +176,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -193,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -217,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -251,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -275,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -287,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -299,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -321,7 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -333,7 +352,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -345,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -369,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c index 258ead1235..2c389eeda4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c index 850f927129..a10b295fa8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c @@ -66,6 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,6 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -84,6 +86,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c index ea0b519c46..c17b5a4efc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c @@ -67,6 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,6 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -85,6 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -94,6 +97,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -103,6 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -112,6 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c index c5526e3b1d..1cb70ea3bb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index 5e0e6cc600..0461eeb076 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c index 9ac3cb97e8..179cb57944 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -82,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -94,7 +96,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -106,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -118,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -130,7 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -152,7 +158,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -176,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -188,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -200,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); @@ -212,7 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c index 3364005980..b5fd7e463d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c @@ -75,7 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -87,7 +88,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -99,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -111,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -123,7 +127,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -135,7 +140,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -157,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -169,7 +176,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -181,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -193,7 +202,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -205,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -217,7 +228,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -251,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -263,7 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -275,7 +290,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -287,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -299,7 +316,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); @@ -321,7 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -333,7 +352,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -345,7 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -357,7 +378,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -369,7 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); @@ -381,7 +404,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c index c3318c6cd3..339799d820 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -97,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -109,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -121,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -133,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -155,7 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -167,7 +174,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -179,7 +187,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -191,7 +200,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -203,7 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -215,7 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); @@ -237,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -273,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -285,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -297,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -319,7 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -331,7 +350,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -343,7 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -355,7 +376,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -367,7 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); @@ -379,7 +402,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index b5fadd95ca..7797b17ed9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -68,6 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -77,6 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -86,6 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index ec1c2e82f7..acd8abf567 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -69,6 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -78,6 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -87,6 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -105,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -114,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index 8668e498be..f4b9b6e769 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -104,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -114,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -124,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -134,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -154,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -174,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -204,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index fc3b8f246b..b6dad316fa 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,7 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -129,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -139,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -149,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -169,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -179,7 +186,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -209,7 +219,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -259,7 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -269,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -279,7 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -289,7 +306,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -309,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -319,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -329,7 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -339,7 +360,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -349,7 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -359,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index a81ff09dbb..41fc7daa92 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -104,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -124,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -134,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -154,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -174,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -184,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -204,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index a7104a5c12..a8ac6090d4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -121,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -141,7 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -151,7 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -191,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -211,7 +221,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -221,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -241,7 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -251,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -281,7 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -291,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -311,7 +329,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -321,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -331,7 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -341,7 +362,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -351,7 +373,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -361,7 +384,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index 9e1a55b957..bf32c2f574 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -119,7 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -129,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -139,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -149,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -169,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -179,7 +186,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -209,7 +219,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -259,7 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -269,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -279,7 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -289,7 +306,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -309,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -319,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -329,7 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -339,7 +360,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -349,7 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -359,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 048bd3237b..0d48ffc867 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -68,6 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -77,6 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -86,6 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index 5f4580602c..ff5cba37d6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -69,6 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -78,6 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -87,6 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -96,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -105,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -114,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index 75cbb22062..4b71d59261 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -104,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -114,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -124,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -134,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -154,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -184,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -204,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index 59cd8de219..fc95ee388b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -119,7 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -129,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -139,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -149,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -169,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -179,7 +186,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -209,7 +219,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -219,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -259,7 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -269,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -279,7 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -289,7 +306,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -309,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -319,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -329,7 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -339,7 +360,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -349,7 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -359,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index facf9ca8fd..c4d9853f8d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -84,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -94,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -104,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -114,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -124,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -134,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -154,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -164,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -184,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -194,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -204,7 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index acb8705944..5d8d7ca8c7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,7 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -111,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -121,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -131,7 +134,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -141,7 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -151,7 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -171,7 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -181,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -191,7 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -201,7 +210,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -211,7 +221,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -221,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -241,7 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -251,7 +264,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -261,7 +275,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -271,7 +286,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -281,7 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -291,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -311,7 +329,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -321,7 +340,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -331,7 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -341,7 +362,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -351,7 +373,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -361,7 +384,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index f359b6db31..f6a72aee5e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -99,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -109,7 +110,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -119,7 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -129,7 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -139,7 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -149,7 +154,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -169,7 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -179,7 +186,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,7 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -209,7 +219,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -219,7 +230,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -239,7 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -249,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -259,7 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -269,7 +284,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -279,7 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -289,7 +306,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -309,7 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -319,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -329,7 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -339,7 +360,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -349,7 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -359,7 +382,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c index 21823e2e6d..8952f57d1b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c @@ -66,6 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,6 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -84,6 +86,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c index eb9c4c7812..3558d069dd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c @@ -67,6 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,6 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -85,6 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -94,6 +97,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -103,6 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -112,6 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index 83887770c7..b22ff9a1f8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -100,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -110,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -120,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -140,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -150,7 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -160,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -180,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -190,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index d8da1e4e90..8753a3a796 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -103,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -123,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -153,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -193,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -223,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -233,7 +247,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -243,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -253,7 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -263,7 +280,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -293,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -303,7 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -313,7 +334,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -323,7 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -333,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index 8abd60acea..ace5865d75 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -70,7 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -100,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -110,7 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -120,7 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -140,7 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -150,7 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -170,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -180,7 +190,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -190,7 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * -bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index 6defc24114..6bc7a680fc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -75,7 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -85,7 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -95,7 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -105,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -115,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,7 +130,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,7 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -185,7 +195,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -195,7 +206,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,7 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -225,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,7 +249,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +260,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -255,7 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -265,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,7 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -295,7 +314,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -305,7 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -315,7 +336,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -325,7 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index dcafa9d0e3..fc837435b4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -73,7 +73,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -83,7 +84,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -93,7 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -103,7 +106,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -113,7 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -123,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -143,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -153,7 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -193,7 +204,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,7 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -223,7 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -233,7 +247,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -243,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -253,7 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -263,7 +280,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -283,7 +301,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -293,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -303,7 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -313,7 +334,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -323,7 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -333,7 +356,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += (mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_) + 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)))*area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); From d20f703f6186738d0246e5e19ab8d71cc810d2e7 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 7 Apr 2026 14:49:23 -0400 Subject: [PATCH 131/181] Found a missing factor in conf surf flux kernel for Apar, it seems that 1/area_elem_quad and the area_elem_quad/Jc_quad factor was missing in the gradA times b term. Also combine the area_elem_quad/Jc_quad factor at the end of the building of alpha_quad to avoid repeating this operation. --- ...ollisionless_flux_edge_surfx_1x1v_ser_p1.c | 15 +- ...ollisionless_flux_edge_surfx_1x2v_ser_p1.c | 30 ++- ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 60 +++-- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 120 ++++++---- ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 84 ++++--- ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 120 ++++++---- ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 168 ++++++++------ ...isionless_flux_em_edge_surfx_1x1v_ser_p1.c | 15 +- ...isionless_flux_em_edge_surfx_1x2v_ser_p1.c | 30 ++- ...isionless_flux_em_edge_surfx_2x2v_ser_p1.c | 84 ++++--- ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 168 ++++++++------ ...isionless_flux_em_edge_surfy_2x2v_ser_p1.c | 108 +++++---- ...isionless_flux_em_edge_surfy_3x2v_ser_p1.c | 168 ++++++++------ ...isionless_flux_em_edge_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ...m_multib_boundary_edge_surfx_1x1v_ser_p1.c | 15 +- ...m_multib_boundary_edge_surfx_1x2v_ser_p1.c | 30 ++- ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 84 ++++--- ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 168 ++++++++------ ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 108 +++++---- ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 168 ++++++++------ ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ...lux_em_multib_boundary_surfx_1x1v_ser_p1.c | 15 +- ...lux_em_multib_boundary_surfx_1x2v_ser_p1.c | 30 ++- ...lux_em_multib_boundary_surfx_2x2v_ser_p1.c | 84 ++++--- ...lux_em_multib_boundary_surfx_3x2v_ser_p1.c | 168 ++++++++------ ...lux_em_multib_boundary_surfy_2x2v_ser_p1.c | 108 +++++---- ...lux_em_multib_boundary_surfy_3x2v_ser_p1.c | 168 ++++++++------ ...lux_em_multib_boundary_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ...ess_flux_em_no_by_edge_surfx_2x2v_ser_p1.c | 12 + ...ess_flux_em_no_by_edge_surfx_3x2v_ser_p1.c | 24 ++ ...ess_flux_em_no_by_edge_surfy_2x2v_ser_p1.c | 36 ++- ...ess_flux_em_no_by_edge_surfy_3x2v_ser_p1.c | 24 ++ ...ess_flux_em_no_by_edge_surfz_3x2v_ser_p1.c | 72 ++++-- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 12 + ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 24 ++ ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 24 ++ ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++-- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 12 + ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 24 ++ ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 24 ++ ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++-- ...sionless_flux_em_no_by_surfx_2x2v_ser_p1.c | 12 + ...sionless_flux_em_no_by_surfx_3x2v_ser_p1.c | 24 ++ ...sionless_flux_em_no_by_surfy_2x2v_ser_p1.c | 36 ++- ...sionless_flux_em_no_by_surfy_3x2v_ser_p1.c | 24 ++ ...sionless_flux_em_no_by_surfz_3x2v_ser_p1.c | 72 ++++-- ...less_flux_em_star_edge_surfx_1x1v_ser_p1.c | 15 +- ...less_flux_em_star_edge_surfx_1x2v_ser_p1.c | 30 ++- ...less_flux_em_star_edge_surfx_2x2v_ser_p1.c | 84 ++++--- ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 168 ++++++++------ ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 108 +++++---- ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 168 ++++++++------ ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ...r_multib_boundary_edge_surfx_1x1v_ser_p1.c | 15 +- ...r_multib_boundary_edge_surfx_1x2v_ser_p1.c | 30 ++- ...r_multib_boundary_edge_surfx_2x2v_ser_p1.c | 84 ++++--- ...r_multib_boundary_edge_surfx_3x2v_ser_p1.c | 168 ++++++++------ ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 108 +++++---- ...r_multib_boundary_edge_surfy_3x2v_ser_p1.c | 168 ++++++++------ ...r_multib_boundary_edge_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ...m_star_multib_boundary_surfx_1x1v_ser_p1.c | 15 +- ...m_star_multib_boundary_surfx_1x2v_ser_p1.c | 30 ++- ...m_star_multib_boundary_surfx_2x2v_ser_p1.c | 84 ++++--- ...m_star_multib_boundary_surfx_3x2v_ser_p1.c | 168 ++++++++------ ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 108 +++++---- ...m_star_multib_boundary_surfy_3x2v_ser_p1.c | 168 ++++++++------ ...m_star_multib_boundary_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ...lux_em_star_no_by_edge_surfx_2x2v_ser_p1.c | 12 + ...lux_em_star_no_by_edge_surfx_3x2v_ser_p1.c | 24 ++ ...lux_em_star_no_by_edge_surfy_2x2v_ser_p1.c | 36 ++- ...lux_em_star_no_by_edge_surfy_3x2v_ser_p1.c | 24 ++ ...lux_em_star_no_by_edge_surfz_3x2v_ser_p1.c | 72 ++++-- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 12 + ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 24 ++ ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 24 ++ ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++-- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 12 + ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 24 ++ ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 24 ++ ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++-- ...ess_flux_em_star_no_by_surfx_2x2v_ser_p1.c | 12 + ...ess_flux_em_star_no_by_surfx_3x2v_ser_p1.c | 24 ++ ...ess_flux_em_star_no_by_surfy_2x2v_ser_p1.c | 36 ++- ...ess_flux_em_star_no_by_surfy_3x2v_ser_p1.c | 24 ++ ...ess_flux_em_star_no_by_surfz_3x2v_ser_p1.c | 72 ++++-- ...isionless_flux_em_star_surfx_1x1v_ser_p1.c | 15 +- ...isionless_flux_em_star_surfx_1x2v_ser_p1.c | 30 ++- ...isionless_flux_em_star_surfx_2x2v_ser_p1.c | 84 ++++--- ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 168 ++++++++------ ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 108 +++++---- ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 168 ++++++++------ ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ..._collisionless_flux_em_surfx_1x1v_ser_p1.c | 15 +- ..._collisionless_flux_em_surfx_1x2v_ser_p1.c | 30 ++- ..._collisionless_flux_em_surfx_2x2v_ser_p1.c | 84 ++++--- ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 168 ++++++++------ ..._collisionless_flux_em_surfy_2x2v_ser_p1.c | 108 +++++---- ..._collisionless_flux_em_surfy_3x2v_ser_p1.c | 168 ++++++++------ ..._collisionless_flux_em_surfz_3x2v_ser_p1.c | 216 ++++++++++-------- ...x_multib_boundary_edge_surfx_1x1v_ser_p1.c | 15 +- ...x_multib_boundary_edge_surfx_1x2v_ser_p1.c | 30 ++- ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 60 +++-- ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 120 ++++++---- ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 84 ++++--- ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 120 ++++++---- ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 168 ++++++++------ ...s_flux_multib_boundary_surfx_1x1v_ser_p1.c | 15 +- ...s_flux_multib_boundary_surfx_1x2v_ser_p1.c | 30 ++- ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 60 +++-- ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 120 ++++++---- ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 84 ++++--- ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 120 ++++++---- ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 168 ++++++++------ ...onless_flux_no_by_edge_surfx_2x2v_ser_p1.c | 12 + ...onless_flux_no_by_edge_surfx_3x2v_ser_p1.c | 24 ++ ...onless_flux_no_by_edge_surfy_2x2v_ser_p1.c | 36 ++- ...onless_flux_no_by_edge_surfy_3x2v_ser_p1.c | 24 ++ ...onless_flux_no_by_edge_surfz_3x2v_ser_p1.c | 72 ++++-- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 12 + ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 24 ++ ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 36 ++- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 24 ++ ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 72 ++++-- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 12 + ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 24 ++ ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 36 ++- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 24 ++ ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 72 ++++-- ...llisionless_flux_no_by_surfx_2x2v_ser_p1.c | 12 + ...llisionless_flux_no_by_surfx_3x2v_ser_p1.c | 24 ++ ...llisionless_flux_no_by_surfy_2x2v_ser_p1.c | 36 ++- ...llisionless_flux_no_by_surfy_3x2v_ser_p1.c | 24 ++ ...llisionless_flux_no_by_surfz_3x2v_ser_p1.c | 72 ++++-- .../gk_collisionless_flux_surfx_1x1v_ser_p1.c | 15 +- .../gk_collisionless_flux_surfx_1x2v_ser_p1.c | 30 ++- .../gk_collisionless_flux_surfx_2x2v_ser_p1.c | 60 +++-- .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 120 ++++++---- .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 84 ++++--- .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 120 ++++++---- .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 168 ++++++++------ 144 files changed, 6564 insertions(+), 4152 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c index d9d8c6878c..a266ef3c3e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -65,8 +65,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,8 +76,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -85,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c index c0745ed517..965fe74fae 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -66,8 +66,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,8 +77,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -86,8 +88,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -106,8 +110,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -116,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index fb02cca785..36ba1fea10 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -70,8 +70,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -81,8 +82,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -92,8 +94,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -103,8 +106,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -114,8 +118,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -125,8 +130,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -146,8 +152,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -157,8 +164,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -168,8 +176,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,8 +188,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -190,8 +200,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -201,8 +212,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 31eb3a8913..e489640137 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -73,8 +73,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,8 +85,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -95,8 +97,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -106,8 +109,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -128,8 +133,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -149,8 +155,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -160,8 +167,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,8 +179,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,8 +191,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -193,8 +203,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -204,8 +215,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,8 +237,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -236,8 +249,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -247,8 +261,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -258,8 +273,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -269,8 +285,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -280,8 +297,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,8 +319,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -312,8 +331,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -323,8 +343,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -334,8 +355,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -345,8 +367,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -356,8 +379,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index 80ee615386..c1f4cc7d70 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -69,9 +69,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -80,9 +81,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -91,9 +93,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -102,9 +105,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -113,9 +117,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -124,9 +129,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -145,9 +151,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -156,9 +163,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -167,9 +175,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,9 +187,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -189,9 +199,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -200,9 +211,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 79e47bfc3d..4abf974c5e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -75,8 +75,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -86,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -97,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,8 +111,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -130,8 +135,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -151,8 +157,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -162,8 +169,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,8 +181,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,8 +193,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -195,8 +205,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -206,8 +217,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -227,8 +239,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -238,8 +251,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -249,8 +263,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -260,8 +275,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,8 +287,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -282,8 +299,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,8 +321,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -314,8 +333,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -325,8 +345,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -336,8 +357,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -347,8 +369,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -358,8 +381,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index a2942eb6ce..64470288c2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -72,9 +72,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -83,9 +84,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -94,9 +96,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -105,9 +108,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -116,9 +120,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -127,9 +132,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -148,9 +154,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -159,9 +166,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -170,9 +178,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,9 +190,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -192,9 +202,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,9 +214,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -224,9 +236,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,9 +248,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -246,9 +260,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -257,9 +272,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -268,9 +284,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -279,9 +296,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,9 +318,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -311,9 +330,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -322,9 +342,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -333,9 +354,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -344,9 +366,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -355,9 +378,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c index 88113df453..2fe98f6682 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c @@ -65,8 +65,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,8 +76,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -85,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c index 07f6bcbb11..e3225f86b7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c @@ -66,8 +66,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,8 +77,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -86,8 +88,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -106,8 +110,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -116,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c index 6bea230e76..9d319506ed 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c @@ -70,10 +70,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -83,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -96,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -109,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -122,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -135,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -158,10 +164,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -171,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -197,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -210,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -223,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index 87876dda64..00a7dea761 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -73,10 +73,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -86,10 +87,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -112,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,10 +167,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,10 +181,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -249,10 +261,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,10 +275,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -275,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -288,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -314,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -337,10 +355,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -350,10 +369,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -363,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -376,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -389,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -402,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c index e35d4bb68a..54b88039ef 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c @@ -69,11 +69,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -82,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -95,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -108,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -121,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -134,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -157,11 +163,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -170,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -196,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -209,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -222,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c index 0ea29b024c..04aa78d07c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c @@ -75,10 +75,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -88,10 +89,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -101,10 +103,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -114,10 +117,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -127,10 +131,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -140,10 +145,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -176,10 +183,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,10 +197,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,10 +211,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,10 +225,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,10 +239,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,10 +277,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -277,10 +291,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,10 +305,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,10 +319,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -316,10 +333,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -339,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -352,10 +371,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -365,10 +385,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -378,10 +399,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -391,10 +413,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -404,10 +427,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c index c47a56acf3..a14470b3b9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c @@ -72,11 +72,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -85,11 +86,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -98,11 +100,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -111,11 +114,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -124,11 +128,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -137,11 +142,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -160,11 +166,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,11 +180,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -186,11 +194,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,11 +208,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -212,11 +222,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,11 +236,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -248,11 +260,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -261,11 +274,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -274,11 +288,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -287,11 +302,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,11 +316,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -313,11 +330,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -336,11 +354,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -349,11 +368,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -362,11 +382,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -375,11 +396,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -388,11 +410,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -401,11 +424,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c index e457920881..92b51ca333 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -67,8 +67,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -77,8 +78,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -87,8 +89,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c index 3b74a2c7a5..21bdc8e646 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -68,8 +68,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -78,8 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -88,8 +90,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -98,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -108,8 +112,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -118,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c index c913ee4e71..0637f96946 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -110,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -123,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -136,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -149,10 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -172,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -185,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -198,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -211,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -224,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -237,10 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c index 3887a7303c..9f40259cff 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,10 +99,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -112,10 +113,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,10 +127,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,10 +141,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -151,10 +155,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,10 +193,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,10 +207,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,10 +221,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,10 +235,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -239,10 +249,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -252,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -275,10 +287,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -288,10 +301,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,10 +315,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -314,10 +329,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -327,10 +343,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -340,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -363,10 +381,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -376,10 +395,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -389,10 +409,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -402,10 +423,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -415,10 +437,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -428,10 +451,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c index 93e466c316..c3c0b6acec 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -109,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -122,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -135,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -148,11 +153,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -171,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -184,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -197,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -210,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -223,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -236,11 +247,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c index 97423aa883..0f44d08528 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -114,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -127,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -140,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -153,10 +157,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,10 +171,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -241,10 +251,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -254,10 +265,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -277,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -316,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -329,10 +345,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -342,10 +359,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -365,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -378,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -391,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -404,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -417,10 +439,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -430,10 +453,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c index 2bf533f3ae..83e09311df 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,11 +98,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -111,11 +112,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -124,11 +126,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -137,11 +140,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -150,11 +154,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -163,11 +168,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -186,11 +192,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,11 +206,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -212,11 +220,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,11 +234,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -238,11 +248,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,11 +262,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,11 +286,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -287,11 +300,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,11 +314,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -313,11 +328,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -326,11 +342,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -339,11 +356,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -362,11 +380,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -375,11 +394,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -388,11 +408,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -401,11 +422,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -414,11 +436,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -427,11 +450,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c index 394243a7fc..f805246ea4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c @@ -67,8 +67,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -77,8 +78,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -87,8 +89,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c index c242961c7c..c1c25d1dd4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c @@ -68,8 +68,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -78,8 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -88,8 +90,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -98,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -108,8 +112,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -118,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c index 69262b1929..519637e5b7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -97,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -110,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -123,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -136,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -149,10 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -172,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -185,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -198,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -211,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -224,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -237,10 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c index 7bff59a4d4..7b07cf337b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,10 +99,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -112,10 +113,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,10 +127,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -138,10 +141,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -151,10 +155,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -164,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -187,10 +193,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -200,10 +207,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -213,10 +221,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,10 +235,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -239,10 +249,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -252,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -275,10 +287,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -288,10 +301,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -301,10 +315,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -314,10 +329,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -327,10 +343,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -340,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -363,10 +381,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -376,10 +395,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -389,10 +409,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -402,10 +423,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -415,10 +437,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -428,10 +451,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c index 0ac778da02..c5eba93f40 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -96,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -109,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -122,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -135,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -148,11 +153,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -171,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -184,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -197,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -210,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -223,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -236,11 +247,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c index 59b6370741..9c47c715a0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -114,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -127,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -140,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -153,10 +157,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -166,10 +171,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -189,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -202,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -215,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -228,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -241,10 +251,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -254,10 +265,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -277,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -303,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -316,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -329,10 +345,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -342,10 +359,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -365,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -378,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -391,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -404,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -417,10 +439,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -430,10 +453,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c index 4b1424f41d..8c6726dd8d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,11 +98,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -111,11 +112,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -124,11 +126,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -137,11 +140,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -150,11 +154,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -163,11 +168,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -186,11 +192,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,11 +206,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -212,11 +220,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -225,11 +234,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -238,11 +248,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -251,11 +262,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -274,11 +286,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -287,11 +300,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -300,11 +314,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -313,11 +328,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -326,11 +342,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -339,11 +356,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -362,11 +380,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -375,11 +394,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -388,11 +408,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -401,11 +422,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -414,11 +436,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -427,11 +450,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c index 922a2d2a11..962754d863 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c @@ -70,6 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -79,6 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -88,6 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,6 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -106,6 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -115,6 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -134,6 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -143,6 +150,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -152,6 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -161,6 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,6 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,6 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c index 84adee49a6..07cf133c7d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c @@ -73,6 +73,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -82,6 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -91,6 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -100,6 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,6 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -118,6 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,6 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,6 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,6 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,6 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +223,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,6 +233,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,6 +243,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -237,6 +253,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -246,6 +263,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -265,6 +283,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,6 +293,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,6 +303,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -292,6 +313,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,6 +323,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -310,6 +333,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c index 3e5463c316..b6d94852fd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c index a6fd2411df..16ae6e6457 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c @@ -75,6 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,6 +85,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,6 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -102,6 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -111,6 +115,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -120,6 +125,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -139,6 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -148,6 +155,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -157,6 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,6 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,6 +185,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,6 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,6 +215,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -212,6 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -221,6 +235,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -230,6 +245,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -239,6 +255,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -248,6 +265,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -267,6 +285,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -276,6 +295,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,6 +305,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -294,6 +315,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,6 +325,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -312,6 +335,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c index 594123ddf8..3edfb2bec4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 16d1b0bd97..3d9224a449 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,6 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -93,6 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -102,6 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -111,6 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -120,6 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -129,6 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -148,6 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -157,6 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -166,6 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -175,6 +184,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,6 +194,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -193,6 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index 982a3c1806..bb102d731a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -126,6 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -135,6 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -144,6 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,6 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,6 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,6 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -190,6 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,6 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -208,6 +219,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -227,6 +239,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -236,6 +249,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -245,6 +259,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -254,6 +269,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -263,6 +279,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -272,6 +289,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -291,6 +309,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -300,6 +319,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -309,6 +329,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -318,6 +339,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -327,6 +349,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -336,6 +359,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index a8a7840a32..6db6d85773 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index bda9e10f3c..64ad80ab51 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,6 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -110,6 +111,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,6 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -128,6 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +141,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -165,6 +171,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,6 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,6 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -192,6 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +221,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -229,6 +241,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -238,6 +251,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -247,6 +261,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -256,6 +271,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -265,6 +281,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -274,6 +291,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -293,6 +311,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -302,6 +321,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -311,6 +331,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -320,6 +341,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -329,6 +351,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -338,6 +361,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 221bf629fb..d9c1650115 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 9def8c690a..1898589ca4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,6 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -93,6 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -102,6 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -111,6 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -120,6 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -129,6 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -148,6 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -157,6 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -166,6 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -175,6 +184,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -184,6 +194,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -193,6 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 20ad12619b..fd4cdafb4e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -108,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -117,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -126,6 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -135,6 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -144,6 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -163,6 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -172,6 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -181,6 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -190,6 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,6 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -208,6 +219,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -227,6 +239,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -236,6 +249,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -245,6 +259,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -254,6 +269,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -263,6 +279,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -272,6 +289,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -291,6 +309,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -300,6 +319,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -309,6 +329,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -318,6 +339,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -327,6 +349,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -336,6 +359,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 40266505b0..7e6c977977 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c index bb62460cf2..f33afe2ec5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,6 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -110,6 +111,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -119,6 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -128,6 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -137,6 +141,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -146,6 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -165,6 +171,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -174,6 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -183,6 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -192,6 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -201,6 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -210,6 +221,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -229,6 +241,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -238,6 +251,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -247,6 +261,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -256,6 +271,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -265,6 +281,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -274,6 +291,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -293,6 +311,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -302,6 +321,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -311,6 +331,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -320,6 +341,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -329,6 +351,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -338,6 +361,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c index a9227a6401..1d010f61ff 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c index 37fe20dca7..bcd43f34a8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c @@ -70,6 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -79,6 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -88,6 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,6 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -106,6 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -115,6 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -134,6 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -143,6 +150,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -152,6 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -161,6 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,6 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,6 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c index 4eafcb85af..9a3ed84042 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c @@ -73,6 +73,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -82,6 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -91,6 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -100,6 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,6 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -118,6 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,6 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,6 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,6 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,6 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +223,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,6 +233,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,6 +243,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -237,6 +253,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -246,6 +263,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -265,6 +283,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,6 +293,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,6 +303,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -292,6 +313,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,6 +323,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -310,6 +333,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c index 25e5751268..e682671edd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c index f7b24b2131..682135df7a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c @@ -75,6 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,6 +85,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,6 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -102,6 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -111,6 +115,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -120,6 +125,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -139,6 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -148,6 +155,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -157,6 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,6 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,6 +185,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,6 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,6 +215,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -212,6 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -221,6 +235,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -230,6 +245,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -239,6 +255,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -248,6 +265,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -267,6 +285,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -276,6 +295,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,6 +305,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -294,6 +315,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,6 +325,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -312,6 +335,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c index 61bfba4e75..363a5d4584 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c index 0c5c7a448b..2a8bf51834 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c @@ -65,8 +65,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,8 +76,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -85,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c index 52c4f4f6f8..40311e9356 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c @@ -66,8 +66,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,8 +77,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -86,8 +88,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -106,8 +110,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -116,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c index 6b167e952a..e59fc9b049 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c @@ -70,10 +70,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -83,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -96,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -109,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -122,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -135,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -158,10 +164,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -171,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -197,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -210,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -223,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c index c347ea7f74..03670ee55a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -73,10 +73,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -86,10 +87,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -112,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,10 +167,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,10 +181,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -249,10 +261,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,10 +275,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -275,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -288,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -314,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -337,10 +355,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -350,10 +369,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -363,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -376,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -389,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -402,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c index 1b6fdf8c43..bc24a62da2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c @@ -69,11 +69,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -82,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -95,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -108,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -121,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -134,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -157,11 +163,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -170,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -196,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -209,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -222,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c index 2a34878e80..23c1a2a136 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c @@ -75,10 +75,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -88,10 +89,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -101,10 +103,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -114,10 +117,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -127,10 +131,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -140,10 +145,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -176,10 +183,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,10 +197,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,10 +211,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,10 +225,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,10 +239,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,10 +277,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -277,10 +291,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,10 +305,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,10 +319,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -316,10 +333,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -339,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -352,10 +371,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -365,10 +385,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -378,10 +399,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -391,10 +413,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -404,10 +427,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c index 92d2b8ce0c..e952951819 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c @@ -72,11 +72,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -85,11 +86,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -98,11 +100,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -111,11 +114,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -124,11 +128,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -137,11 +142,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -160,11 +166,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,11 +180,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -186,11 +194,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,11 +208,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -212,11 +222,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,11 +236,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -248,11 +260,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -261,11 +274,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -274,11 +288,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -287,11 +302,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,11 +316,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -313,11 +330,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -336,11 +354,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -349,11 +368,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -362,11 +382,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -375,11 +396,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -388,11 +410,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -401,11 +424,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c index f9d4c206bc..4c93412b8b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -67,8 +67,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -77,8 +78,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -87,8 +89,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c index be7a260df0..3cc4606e24 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -68,8 +68,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -78,8 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -88,8 +90,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -98,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -108,8 +112,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -118,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c index 2f8a663411..4b950af060 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -110,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -123,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -136,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -149,10 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -172,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -185,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -198,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -211,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -224,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -237,10 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c index d44dc93e16..d268ffdc29 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,10 +99,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -112,10 +113,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,10 +127,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,10 +141,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -151,10 +155,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,10 +193,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,10 +207,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,10 +221,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,10 +235,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -239,10 +249,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -252,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -275,10 +287,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -288,10 +301,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,10 +315,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -314,10 +329,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -327,10 +343,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -340,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -363,10 +381,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -376,10 +395,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -389,10 +409,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -402,10 +423,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -415,10 +437,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -428,10 +451,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c index ef85969448..12a268c27a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -109,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -122,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -135,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -148,11 +153,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -171,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -184,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -197,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -210,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -223,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -236,11 +247,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c index d5c9062374..1633321359 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -114,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -127,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -140,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -153,10 +157,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,10 +171,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -241,10 +251,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -254,10 +265,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -277,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -316,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -329,10 +345,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -342,10 +359,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -365,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -378,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -391,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -404,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -417,10 +439,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -430,10 +453,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c index 161d07ec52..b29ef01f9e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,11 +98,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -111,11 +112,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -124,11 +126,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -137,11 +140,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -150,11 +154,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -163,11 +168,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -186,11 +192,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,11 +206,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -212,11 +220,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,11 +234,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -238,11 +248,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,11 +262,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,11 +286,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -287,11 +300,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,11 +314,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -313,11 +328,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -326,11 +342,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -339,11 +356,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -362,11 +380,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -375,11 +394,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -388,11 +408,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -401,11 +422,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -414,11 +436,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -427,11 +450,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c index 5f086bd889..33549ad913 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c @@ -67,8 +67,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -77,8 +78,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -87,8 +89,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c index 8c9b645369..b8c9fbbc7e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c @@ -68,8 +68,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -78,8 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -88,8 +90,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -98,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -108,8 +112,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -118,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c index bf9609b67b..b22f64932c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -97,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -110,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -123,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -136,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -149,10 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -172,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -185,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -198,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -211,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -224,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -237,10 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c index 090f74bb16..434bec1437 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,10 +99,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -112,10 +113,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,10 +127,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -138,10 +141,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -151,10 +155,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -164,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -187,10 +193,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -200,10 +207,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -213,10 +221,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,10 +235,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -239,10 +249,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -252,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -275,10 +287,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -288,10 +301,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -301,10 +315,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -314,10 +329,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -327,10 +343,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -340,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -363,10 +381,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -376,10 +395,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -389,10 +409,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -402,10 +423,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -415,10 +437,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -428,10 +451,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c index c907452ecf..b64e8dbaec 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -96,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -109,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -122,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -135,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -148,11 +153,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -171,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -184,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -197,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -210,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -223,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -236,11 +247,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c index d09c4976ba..fea9f5a7b0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -114,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -127,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -140,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -153,10 +157,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -166,10 +171,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -189,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -202,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -215,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -228,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -241,10 +251,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -254,10 +265,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -277,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -303,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -316,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -329,10 +345,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -342,10 +359,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -365,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -378,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -391,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -404,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -417,10 +439,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -430,10 +453,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c index c322f5a43b..e32362aca0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,11 +98,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -111,11 +112,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -124,11 +126,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -137,11 +140,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -150,11 +154,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -163,11 +168,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -186,11 +192,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,11 +206,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -212,11 +220,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -225,11 +234,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -238,11 +248,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -251,11 +262,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -274,11 +286,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -287,11 +300,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -300,11 +314,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -313,11 +328,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -326,11 +342,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -339,11 +356,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -362,11 +380,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -375,11 +394,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -388,11 +408,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -401,11 +422,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -414,11 +436,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -427,11 +450,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c index 59f6d3cadc..3a6ed49216 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c @@ -70,6 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -79,6 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -88,6 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,6 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -106,6 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -115,6 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -134,6 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -143,6 +150,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -152,6 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -161,6 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,6 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,6 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c index 0a0a8600a3..b36f735aa9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c @@ -73,6 +73,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -82,6 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -91,6 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -100,6 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,6 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -118,6 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,6 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,6 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,6 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,6 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +223,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,6 +233,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,6 +243,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -237,6 +253,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -246,6 +263,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -265,6 +283,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,6 +293,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,6 +303,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -292,6 +313,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,6 +323,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -310,6 +333,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c index 2cc04c4882..31b515c00b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c index 3b47a467d8..54a68c611a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c @@ -75,6 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,6 +85,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,6 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -102,6 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -111,6 +115,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -120,6 +125,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -139,6 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -148,6 +155,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -157,6 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,6 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,6 +185,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,6 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,6 +215,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -212,6 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -221,6 +235,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -230,6 +245,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -239,6 +255,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -248,6 +265,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -267,6 +285,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -276,6 +295,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,6 +305,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -294,6 +315,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,6 +325,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -312,6 +335,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c index d7c0ae209c..88c5f19992 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 0ddae0edea..4d3f035e60 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,6 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -93,6 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -102,6 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -111,6 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -120,6 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -129,6 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -148,6 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -157,6 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -166,6 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -175,6 +184,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,6 +194,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -193,6 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index 8aa9ab8802..c480062590 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -126,6 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -135,6 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -144,6 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,6 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,6 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,6 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -190,6 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,6 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -208,6 +219,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -227,6 +239,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -236,6 +249,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -245,6 +259,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -254,6 +269,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -263,6 +279,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -272,6 +289,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -291,6 +309,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -300,6 +319,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -309,6 +329,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -318,6 +339,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -327,6 +349,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -336,6 +359,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index cebf6859ea..c25e95d46a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index b4b1e0d722..8f63f2b2d7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,6 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -110,6 +111,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,6 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -128,6 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +141,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -165,6 +171,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,6 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,6 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -192,6 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +221,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -229,6 +241,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -238,6 +251,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -247,6 +261,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -256,6 +271,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -265,6 +281,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -274,6 +291,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -293,6 +311,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -302,6 +321,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -311,6 +331,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -320,6 +341,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -329,6 +351,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -338,6 +361,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index f9f93ebcf3..505f4c1c0f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 0be6a0fa4e..25a4f401b1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,6 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -93,6 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -102,6 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -111,6 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -120,6 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -129,6 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -148,6 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -157,6 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -166,6 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -175,6 +184,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -184,6 +194,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -193,6 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c index bbb398d1f5..6ce1635f91 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -108,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -117,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -126,6 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -135,6 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -144,6 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -163,6 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -172,6 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -181,6 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -190,6 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,6 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -208,6 +219,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -227,6 +239,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -236,6 +249,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -245,6 +259,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -254,6 +269,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -263,6 +279,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -272,6 +289,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -291,6 +309,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -300,6 +319,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -309,6 +329,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -318,6 +339,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -327,6 +349,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -336,6 +359,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 25dc5aa761..cc40492811 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 2f56cf6794..13b104a97f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,6 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -110,6 +111,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -119,6 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -128,6 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -137,6 +141,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -146,6 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -165,6 +171,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -174,6 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -183,6 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -192,6 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -201,6 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -210,6 +221,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -229,6 +241,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -238,6 +251,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -247,6 +261,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -256,6 +271,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -265,6 +281,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -274,6 +291,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -293,6 +311,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -302,6 +321,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -311,6 +331,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -320,6 +341,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -329,6 +351,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -338,6 +361,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 3f88a65d7c..fa420703d2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c index 4c11b54983..4947a0b9c3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c @@ -70,6 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -79,6 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -88,6 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,6 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -106,6 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -115,6 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -134,6 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -143,6 +150,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -152,6 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -161,6 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,6 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,6 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c index 37c9f0661e..9553614b91 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c @@ -73,6 +73,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -82,6 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -91,6 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -100,6 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,6 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -118,6 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,6 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,6 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,6 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,6 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +223,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,6 +233,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,6 +243,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -237,6 +253,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -246,6 +263,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -265,6 +283,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,6 +293,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,6 +303,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -292,6 +313,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,6 +323,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -310,6 +333,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c index facf04d3db..9738cec169 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c index 8392c9d227..5f50fe8ef2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c @@ -75,6 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,6 +85,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,6 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -102,6 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -111,6 +115,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -120,6 +125,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -139,6 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -148,6 +155,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -157,6 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,6 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,6 +185,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,6 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,6 +215,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -212,6 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -221,6 +235,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -230,6 +245,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -239,6 +255,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -248,6 +265,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -267,6 +285,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -276,6 +295,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,6 +305,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -294,6 +315,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,6 +325,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -312,6 +335,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c index 735a25a7e4..9e954c6beb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c index aa81e8a0c7..c777f47565 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c @@ -65,8 +65,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,8 +76,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -85,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c index 6175abb89d..b5d6ffc73b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c @@ -66,8 +66,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,8 +77,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -86,8 +88,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -106,8 +110,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -116,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c index 65b0026fda..99a6714615 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c @@ -70,10 +70,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -83,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -96,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -109,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -122,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -135,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -158,10 +164,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -171,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -197,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -210,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -223,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c index 561d69a340..e0b82123a7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -73,10 +73,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -86,10 +87,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -112,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,10 +167,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,10 +181,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -249,10 +261,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,10 +275,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -275,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -288,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -314,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -337,10 +355,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -350,10 +369,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -363,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -376,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -389,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -402,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c index 36871adf9d..c97c693445 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c @@ -69,11 +69,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -82,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -95,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -108,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -121,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -134,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -157,11 +163,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -170,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -196,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -209,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -222,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c index 9f6bd795ee..fbc62eeb89 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c @@ -75,10 +75,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -88,10 +89,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -101,10 +103,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -114,10 +117,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -127,10 +131,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -140,10 +145,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -176,10 +183,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,10 +197,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,10 +211,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,10 +225,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,10 +239,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,10 +277,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -277,10 +291,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,10 +305,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,10 +319,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -316,10 +333,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -339,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -352,10 +371,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -365,10 +385,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -378,10 +399,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -391,10 +413,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -404,10 +427,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c index 2c389eeda4..342bd01612 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c @@ -72,11 +72,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -85,11 +86,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -98,11 +100,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -111,11 +114,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -124,11 +128,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -137,11 +142,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -160,11 +166,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,11 +180,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -186,11 +194,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,11 +208,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -212,11 +222,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,11 +236,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -248,11 +260,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -261,11 +274,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -274,11 +288,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -287,11 +302,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,11 +316,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -313,11 +330,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -336,11 +354,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -349,11 +368,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -362,11 +382,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -375,11 +396,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -388,11 +410,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -401,11 +424,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c index a10b295fa8..53c6f1492b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c @@ -65,8 +65,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,8 +76,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -85,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c index c17b5a4efc..a822ec8120 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c @@ -66,8 +66,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,8 +77,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -86,8 +88,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -106,8 +110,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -116,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c index 1cb70ea3bb..d3c6c99e8c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c @@ -70,10 +70,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -83,10 +84,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -96,10 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -109,10 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -122,10 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -135,10 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -158,10 +164,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -171,10 +178,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,10 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -197,10 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -210,10 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -223,10 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index 0461eeb076..90b48246d7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -73,10 +73,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -86,10 +87,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -99,10 +101,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -112,10 +115,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -125,10 +129,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -138,10 +143,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -161,10 +167,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,10 +181,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -187,10 +195,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,10 +209,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -213,10 +223,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,10 +237,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -249,10 +261,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,10 +275,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -275,10 +289,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -288,10 +303,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,10 +317,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -314,10 +331,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -337,10 +355,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -350,10 +369,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -363,10 +383,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -376,10 +397,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -389,10 +411,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -402,10 +425,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c index 179cb57944..0cb5a8675e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c @@ -69,11 +69,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -82,11 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -95,11 +97,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -108,11 +111,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -121,11 +125,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -134,11 +139,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -157,11 +163,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -170,11 +177,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,11 +191,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -196,11 +205,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -209,11 +219,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -222,11 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c index b5fd7e463d..fad227e7b6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c @@ -75,10 +75,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -88,10 +89,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -101,10 +103,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -114,10 +117,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -127,10 +131,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -140,10 +145,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,10 +169,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -176,10 +183,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,10 +197,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -202,10 +211,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -215,10 +225,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,10 +239,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,10 +263,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,10 +277,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -277,10 +291,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,10 +305,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,10 +319,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -316,10 +333,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -339,10 +357,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -352,10 +371,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -365,10 +385,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -378,10 +399,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -391,10 +413,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -404,10 +427,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c index 339799d820..018239315a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c @@ -72,11 +72,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -85,11 +86,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -98,11 +100,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -111,11 +114,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -124,11 +128,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -137,11 +142,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -160,11 +166,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,11 +180,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -186,11 +194,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,11 +208,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -212,11 +222,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,11 +236,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -248,11 +260,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -261,11 +274,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -274,11 +288,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -287,11 +302,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,11 +316,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -313,11 +330,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -336,11 +354,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -349,11 +368,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -362,11 +382,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -375,11 +396,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -388,11 +410,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -401,11 +424,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index 7797b17ed9..e0d595d3fd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -67,8 +67,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -77,8 +78,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -87,8 +89,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index acd8abf567..a0183d2fea 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -68,8 +68,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -78,8 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -88,8 +90,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -98,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -108,8 +112,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -118,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index f4b9b6e769..7aec7c1174 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,8 +84,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -95,8 +96,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -106,8 +108,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -117,8 +120,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -128,8 +132,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -139,8 +144,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -160,8 +166,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -171,8 +178,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -182,8 +190,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -193,8 +202,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -204,8 +214,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -215,8 +226,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index b6dad316fa..ca40ecf294 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -110,8 +111,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -121,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -132,8 +135,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -143,8 +147,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,8 +159,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,8 +181,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -186,8 +193,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -197,8 +205,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -208,8 +217,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,8 +229,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -230,8 +241,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -251,8 +263,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -262,8 +275,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -273,8 +287,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -284,8 +299,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -295,8 +311,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -306,8 +323,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -327,8 +345,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -338,8 +357,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -349,8 +369,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -360,8 +381,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -371,8 +393,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -382,8 +405,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index 41fc7daa92..7ea596b97a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,9 +83,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -94,9 +95,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,9 +107,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -116,9 +119,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -127,9 +131,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -138,9 +143,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -159,9 +165,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -170,9 +177,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -181,9 +189,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -192,9 +201,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -203,9 +213,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -214,9 +225,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index a8ac6090d4..7cdf6e59e6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -112,8 +113,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -123,8 +125,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -134,8 +137,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,8 +149,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -156,8 +161,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -177,8 +183,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -188,8 +195,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,8 +207,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,8 +219,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -221,8 +231,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -232,8 +243,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -253,8 +265,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,8 +277,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -275,8 +289,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -286,8 +301,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -297,8 +313,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -308,8 +325,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -329,8 +347,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -340,8 +359,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -351,8 +371,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -362,8 +383,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -373,8 +395,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -384,8 +407,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index bf32c2f574..00ba9ae584 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,9 +98,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -109,9 +110,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -120,9 +122,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -131,9 +134,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -142,9 +146,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -153,9 +158,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -174,9 +180,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -185,9 +192,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -196,9 +204,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,9 +216,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -218,9 +228,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -229,9 +240,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -250,9 +262,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -261,9 +274,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -272,9 +286,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -283,9 +298,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -294,9 +310,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -305,9 +322,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -326,9 +344,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -337,9 +356,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -348,9 +368,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -359,9 +380,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -370,9 +392,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -381,9 +404,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 0d48ffc867..9619be16fb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -67,8 +67,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -77,8 +78,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -87,8 +89,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index ff5cba37d6..af23cd30e1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -68,8 +68,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -78,8 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -88,8 +90,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -98,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -108,8 +112,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; @@ -118,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index 4b71d59261..e3da94ba96 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,8 +84,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -95,8 +96,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -106,8 +108,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -117,8 +120,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -128,8 +132,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -139,8 +144,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -160,8 +166,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -171,8 +178,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -182,8 +190,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -193,8 +202,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -204,8 +214,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -215,8 +226,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index fc95ee388b..000b03b922 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -110,8 +111,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -121,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -132,8 +135,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -143,8 +147,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -154,8 +159,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -175,8 +181,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -186,8 +193,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -197,8 +205,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -208,8 +217,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -219,8 +229,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -230,8 +241,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -251,8 +263,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -262,8 +275,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -273,8 +287,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -284,8 +299,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -295,8 +311,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -306,8 +323,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -327,8 +345,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -338,8 +357,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -349,8 +369,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -360,8 +381,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -371,8 +393,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -382,8 +405,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index c4d9853f8d..f17b4abda2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,9 +83,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -94,9 +95,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -105,9 +107,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -116,9 +119,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -127,9 +131,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -138,9 +143,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -159,9 +165,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -170,9 +177,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -181,9 +189,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -192,9 +201,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -203,9 +213,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -214,9 +225,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index 5d8d7ca8c7..d84c7f993c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,8 +101,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -112,8 +113,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -123,8 +125,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -134,8 +137,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -145,8 +149,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -156,8 +161,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -177,8 +183,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -188,8 +195,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,8 +207,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -210,8 +219,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -221,8 +231,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -232,8 +243,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -253,8 +265,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -264,8 +277,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -275,8 +289,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -286,8 +301,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -297,8 +313,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -308,8 +325,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -329,8 +347,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -340,8 +359,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -351,8 +371,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -362,8 +383,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -373,8 +395,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -384,8 +407,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index f6a72aee5e..e202b69597 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,9 +98,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -109,9 +110,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -120,9 +122,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -131,9 +134,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -142,9 +146,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -153,9 +158,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -174,9 +180,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -185,9 +192,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -196,9 +204,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -207,9 +216,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -218,9 +228,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -229,9 +240,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -250,9 +262,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -261,9 +274,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -272,9 +286,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -283,9 +298,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -294,9 +310,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -305,9 +322,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -326,9 +344,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -337,9 +356,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -348,9 +368,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -359,9 +380,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -370,9 +392,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -381,9 +404,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c index 221b5d1423..47dd50e920 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -70,6 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -79,6 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -88,6 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,6 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -106,6 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -115,6 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -134,6 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -143,6 +150,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -152,6 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -161,6 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,6 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,6 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c index 443f043456..9b0e361df1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -73,6 +73,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -82,6 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -91,6 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -100,6 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,6 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -118,6 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,6 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,6 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,6 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,6 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +223,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,6 +233,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,6 +243,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -237,6 +253,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -246,6 +263,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -265,6 +283,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,6 +293,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,6 +303,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -292,6 +313,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,6 +323,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -310,6 +333,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c index 82e53feddc..c5d012f06a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c index 369c86f08b..4da146f811 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -75,6 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,6 +85,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,6 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -102,6 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -111,6 +115,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -120,6 +125,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -139,6 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -148,6 +155,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -157,6 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,6 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,6 +185,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,6 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,6 +215,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -212,6 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -221,6 +235,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -230,6 +245,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -239,6 +255,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -248,6 +265,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -267,6 +285,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -276,6 +295,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,6 +305,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -294,6 +315,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,6 +325,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -312,6 +335,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c index fcaca72bb8..1c3d1b577b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index f994230a51..dcec602bad 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -84,6 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -93,6 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -102,6 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -111,6 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -120,6 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -129,6 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -148,6 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -157,6 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -166,6 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -175,6 +184,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -184,6 +194,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -193,6 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index cbc6b5b929..ac1f4606ed 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -99,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -126,6 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -135,6 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -144,6 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,6 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,6 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,6 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -190,6 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -199,6 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -208,6 +219,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -227,6 +239,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -236,6 +249,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -245,6 +259,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -254,6 +269,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -263,6 +279,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -272,6 +289,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -291,6 +309,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -300,6 +319,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -309,6 +329,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -318,6 +339,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -327,6 +349,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -336,6 +359,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index e45ee49e08..a693a8d3d4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 4d7217100b..7a2c577e54 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -101,6 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -110,6 +111,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,6 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -128,6 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +141,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -165,6 +171,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -174,6 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -183,6 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -192,6 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +221,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -229,6 +241,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -238,6 +251,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -247,6 +261,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -256,6 +271,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -265,6 +281,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -274,6 +291,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -293,6 +311,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -302,6 +321,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -311,6 +331,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -320,6 +341,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -329,6 +351,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -338,6 +361,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 80d5ed0ce3..9c84941d6f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 63e9a1f60e..6de9b89901 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -84,6 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -93,6 +94,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -102,6 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -111,6 +114,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -120,6 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -129,6 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -148,6 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -157,6 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -166,6 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -175,6 +184,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -184,6 +194,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -193,6 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 0c955575e9..2626cd24da 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -99,6 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -108,6 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -117,6 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -126,6 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -135,6 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -144,6 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -163,6 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -172,6 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -181,6 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -190,6 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -199,6 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -208,6 +219,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -227,6 +239,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -236,6 +249,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -245,6 +259,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -254,6 +269,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -263,6 +279,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -272,6 +289,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -291,6 +309,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -300,6 +319,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -309,6 +329,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -318,6 +339,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -327,6 +349,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -336,6 +359,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c index ea60efd4fd..2253e195ed 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -83,7 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -92,7 +93,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; @@ -101,7 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -110,7 +113,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -119,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -128,7 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; @@ -147,7 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -156,7 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -165,7 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -174,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); @@ -183,7 +193,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); @@ -192,7 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 7381fcb251..83f1f49c29 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -101,6 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -110,6 +111,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -119,6 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -128,6 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -137,6 +141,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -146,6 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -165,6 +171,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -174,6 +181,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -183,6 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -192,6 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -201,6 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -210,6 +221,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -229,6 +241,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -238,6 +251,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -247,6 +261,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -256,6 +271,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -265,6 +281,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -274,6 +291,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -293,6 +311,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -302,6 +321,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -311,6 +331,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -320,6 +341,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -329,6 +351,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -338,6 +361,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c index cefe23f089..00805d7452 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -98,7 +98,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -107,7 +108,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -116,7 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -125,7 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -134,7 +138,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -143,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; @@ -162,7 +168,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -171,7 +178,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -180,7 +188,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -189,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -198,7 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -207,7 +218,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; @@ -226,7 +238,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -235,7 +248,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); @@ -244,7 +258,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -253,7 +268,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -262,7 +278,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -271,7 +288,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); @@ -290,7 +308,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -299,7 +318,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -308,7 +328,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -317,7 +338,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -326,7 +348,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); @@ -335,7 +358,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c index 6a5dd6206d..f4775e4ff2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -70,6 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -79,6 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -88,6 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -97,6 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -106,6 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -115,6 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -134,6 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -143,6 +150,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -152,6 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -161,6 +170,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -170,6 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,6 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c index b9284c26fd..007b8c717a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -73,6 +73,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -82,6 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -91,6 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -100,6 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -109,6 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -118,6 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -137,6 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -146,6 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -155,6 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -164,6 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,6 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,6 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -201,6 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -210,6 +223,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -219,6 +233,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -228,6 +243,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -237,6 +253,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -246,6 +263,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -265,6 +283,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -274,6 +293,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -283,6 +303,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -292,6 +313,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,6 +323,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -310,6 +333,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c index 355ac1a61b..08ce32d959 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -69,7 +69,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -78,7 +79,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -87,7 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -96,7 +99,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -105,7 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -114,7 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -133,7 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -142,7 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -151,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -160,7 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -169,7 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c index e82df8b127..44312bc9a4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -75,6 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,6 +85,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -93,6 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -102,6 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -111,6 +115,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -120,6 +125,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -139,6 +145,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -148,6 +155,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -157,6 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -166,6 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -175,6 +185,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,6 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,6 +215,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -212,6 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -221,6 +235,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -230,6 +245,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -239,6 +255,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -248,6 +265,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -267,6 +285,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -276,6 +295,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -285,6 +305,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -294,6 +315,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,6 +325,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -312,6 +335,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c index c32a86f42e..d6ad3632c6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -72,7 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -90,7 +92,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -99,7 +102,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -108,7 +112,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -117,7 +122,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -136,7 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -145,7 +152,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -154,7 +162,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -163,7 +172,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -172,7 +182,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,7 +192,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -200,7 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -209,7 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -218,7 +232,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -227,7 +242,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -236,7 +252,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -245,7 +262,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -264,7 +282,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -273,7 +292,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -282,7 +302,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -291,7 +312,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -300,7 +322,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -309,7 +332,8 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c index 8952f57d1b..9a63687952 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c @@ -65,8 +65,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -75,8 +76,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; @@ -85,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c index 3558d069dd..3665094082 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c @@ -66,8 +66,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -76,8 +77,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -86,8 +88,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -96,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -106,8 +110,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; @@ -116,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index b22ff9a1f8..2ead917c5f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -70,8 +70,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -81,8 +82,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -92,8 +94,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -103,8 +106,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -114,8 +118,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -125,8 +130,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -146,8 +152,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -157,8 +164,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -168,8 +176,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -179,8 +188,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -190,8 +200,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; @@ -201,8 +212,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 8753a3a796..8e83ab7d4b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -73,8 +73,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -84,8 +85,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -95,8 +97,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -106,8 +109,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -117,8 +121,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -128,8 +133,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -149,8 +155,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -160,8 +167,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -171,8 +179,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -182,8 +191,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -193,8 +203,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -204,8 +215,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -225,8 +237,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -236,8 +249,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -247,8 +261,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -258,8 +273,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -269,8 +285,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -280,8 +297,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -301,8 +319,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -312,8 +331,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -323,8 +343,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -334,8 +355,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -345,8 +367,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; @@ -356,8 +379,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index ace5865d75..2d6b0df100 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -69,9 +69,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -80,9 +81,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -91,9 +93,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -102,9 +105,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -113,9 +117,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -124,9 +129,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; @@ -145,9 +151,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -156,9 +163,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -167,9 +175,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -178,9 +187,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -189,9 +199,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); @@ -200,9 +211,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index 6bc7a680fc..f45d49c8ab 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -75,8 +75,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -86,8 +87,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -97,8 +99,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -108,8 +111,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -119,8 +123,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -130,8 +135,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -151,8 +157,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -162,8 +169,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -173,8 +181,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -184,8 +193,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -195,8 +205,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -206,8 +217,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -227,8 +239,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -238,8 +251,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -249,8 +263,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -260,8 +275,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -271,8 +287,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -282,8 +299,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -303,8 +321,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -314,8 +333,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -325,8 +345,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -336,8 +357,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -347,8 +369,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -358,8 +381,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)) * area_elem_quad/Jc_quad; + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index fc837435b4..eb9fbe0b7a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -72,9 +72,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -83,9 +84,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -94,9 +96,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -105,9 +108,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -116,9 +120,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -127,9 +132,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; @@ -148,9 +154,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -159,9 +166,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -170,9 +178,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -181,9 +190,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -192,9 +202,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -203,9 +214,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; @@ -224,9 +236,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -235,9 +248,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -246,9 +260,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -257,9 +272,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -268,9 +284,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -279,9 +296,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); @@ -300,9 +318,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -311,9 +330,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -322,9 +342,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -333,9 +354,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -344,9 +366,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); @@ -355,9 +378,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad))*area_elem_quad/Jc_quad; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_)*area_elem_quad/Jc_quad; - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)) * area_elem_quad/Jc_quad; + alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); + alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); From 59fa6508c6fc1b948bc37d9093fe68bafeb58a7d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 8 Apr 2026 10:10:31 -0400 Subject: [PATCH 132/181] =?UTF-8?q?try=20a=20reformulation=20of=20the=20vp?= =?UTF-8?q?ar=20surf=20flux=20kernel=20using=20=E2=88=87Apar=20x=20b=20.?= =?UTF-8?q?=20=E2=88=87H=20=3D=20=E2=88=87H=20x=20=E2=88=87Apar=20.=20b?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...onless_flux_em_star_surfvpar_2x2v_ser_p1.c | 24 ++--- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 96 +++++++++---------- ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 24 ++--- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 96 +++++++++---------- 4 files changed, 112 insertions(+), 128 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c index e916a91757..b9c0556e80 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c @@ -75,8 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -90,8 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -117,8 +115,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -132,8 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -159,8 +155,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -174,8 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -201,8 +195,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -216,8 +209,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index a1315546c2..e2ef670d8d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -80,11 +80,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -98,11 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -128,11 +128,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -146,11 +146,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -176,11 +176,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -194,11 +194,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -224,11 +224,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -242,11 +242,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -272,11 +272,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -290,11 +290,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -320,11 +320,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -338,11 +338,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -368,11 +368,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -386,11 +386,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -416,11 +416,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -434,11 +434,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c index 96d0890885..a332f9b5f6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c @@ -75,8 +75,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -91,8 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -119,8 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -135,8 +132,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -163,8 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -179,8 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -207,8 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -223,8 +216,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (-g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*rdz2)); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * ( g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*rdx2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index 8749770574..e3e0d57a11 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -80,11 +80,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -99,11 +99,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -130,11 +130,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -149,11 +149,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -180,11 +180,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -199,11 +199,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -230,11 +230,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -249,11 +249,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -280,11 +280,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -299,11 +299,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -330,11 +330,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -349,11 +349,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -380,11 +380,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -399,11 +399,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -430,11 +430,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -449,11 +449,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2) - g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*rdz2) - g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * 1/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*rdx2) - g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*rdy2)); + alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; From c91b27eda87e5e2caa3c7becc60257dccdd5655e Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 8 Apr 2026 11:05:55 -0400 Subject: [PATCH 133/181] use bioverJB instead of the e_3_mag and metric tensor component --- ...nless_flux_em_no_by_surfvpar_2x2v_ser_p1.c | 44 +-- ...nless_flux_em_no_by_surfvpar_3x2v_ser_p1.c | 80 ++---- ..._flux_em_star_no_by_surfvpar_2x2v_ser_p1.c | 44 +-- ..._flux_em_star_no_by_surfvpar_3x2v_ser_p1.c | 80 ++---- ...onless_flux_em_star_surfvpar_1x1v_ser_p1.c | 30 +- ...onless_flux_em_star_surfvpar_1x2v_ser_p1.c | 34 +-- ...onless_flux_em_star_surfvpar_2x2v_ser_p1.c | 92 +++--- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 272 ++++++++---------- ...llisionless_flux_em_surfvpar_1x1v_ser_p1.c | 30 +- ...llisionless_flux_em_surfvpar_1x2v_ser_p1.c | 34 +-- ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 92 +++--- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 272 ++++++++---------- ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 5 - ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 9 - ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 3 - ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 3 - ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 5 - ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 9 - gyrokinetic/zero/gk_dg_geom.c | 6 + gyrokinetic/zero/gkyl_gk_dg_geom.h | 1 + 20 files changed, 439 insertions(+), 706 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c index 0a5d9c3bdd..5a7695a864 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c @@ -44,31 +44,22 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); @@ -92,15 +83,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); @@ -124,15 +112,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); @@ -156,15 +141,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c index 83850b2dcb..7de5131f8b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c @@ -49,31 +49,22 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); @@ -97,15 +88,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); @@ -129,15 +117,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); @@ -161,15 +146,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); @@ -193,15 +175,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[4].bmag; B3_quad = gkdgv[4].B3; - Jc_quad = dgv[4].Jc; dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[4].g_13; - g_23 = gkdgv[4].g_23; - g_33 = gkdgv[4].g_33; - mag_e_3 = gkdgv[4].mag_e_3; + bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); @@ -225,15 +204,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[5].bmag; B3_quad = gkdgv[5].B3; - Jc_quad = dgv[5].Jc; dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[5].g_13; - g_23 = gkdgv[5].g_23; - g_33 = gkdgv[5].g_33; - mag_e_3 = gkdgv[5].mag_e_3; + bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); @@ -257,15 +233,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[6].bmag; B3_quad = gkdgv[6].B3; - Jc_quad = dgv[6].Jc; dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[6].g_13; - g_23 = gkdgv[6].g_23; - g_33 = gkdgv[6].g_33; - mag_e_3 = gkdgv[6].mag_e_3; + bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); @@ -289,15 +262,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[7].bmag; B3_quad = gkdgv[7].B3; - Jc_quad = dgv[7].Jc; dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[7].g_13; - g_23 = gkdgv[7].g_23; - g_33 = gkdgv[7].g_33; - mag_e_3 = gkdgv[7].mag_e_3; + bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c index d17d941b99..a4d4852316 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c @@ -44,31 +44,22 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; @@ -90,15 +81,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; @@ -120,15 +108,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; @@ -150,15 +135,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c index d34e10d738..9db01b0ddb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c @@ -49,31 +49,22 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; @@ -95,15 +86,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; @@ -125,15 +113,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; @@ -155,15 +140,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; @@ -185,15 +167,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[4].bmag; B3_quad = gkdgv[4].B3; - Jc_quad = dgv[4].Jc; dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[4].g_13; - g_23 = gkdgv[4].g_23; - g_33 = gkdgv[4].g_33; - mag_e_3 = gkdgv[4].mag_e_3; + bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; @@ -215,15 +194,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[5].bmag; B3_quad = gkdgv[5].B3; - Jc_quad = dgv[5].Jc; dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[5].g_13; - g_23 = gkdgv[5].g_23; - g_33 = gkdgv[5].g_33; - mag_e_3 = gkdgv[5].mag_e_3; + bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; @@ -245,15 +221,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[6].bmag; B3_quad = gkdgv[6].B3; - Jc_quad = dgv[6].Jc; dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[6].g_13; - g_23 = gkdgv[6].g_23; - g_33 = gkdgv[6].g_33; - mag_e_3 = gkdgv[6].mag_e_3; + bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; @@ -275,15 +248,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[7].bmag; B3_quad = gkdgv[7].B3; - Jc_quad = dgv[7].Jc; dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[7].g_13; - g_23 = gkdgv[7].g_23; - g_33 = gkdgv[7].g_33; - mag_e_3 = gkdgv[7].mag_e_3; + bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c index e0c6aa029e..81863bd899 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c @@ -37,35 +37,26 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; @@ -76,19 +67,16 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c index 8fb9185a77..d86d28cdd8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c @@ -39,35 +39,26 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -78,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -89,19 +80,16 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -112,7 +100,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c index b9c0556e80..468c7ebeeb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c @@ -44,38 +44,29 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -87,9 +78,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -100,22 +91,19 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -127,9 +115,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -140,22 +128,19 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -167,9 +152,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -180,22 +165,19 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -207,9 +189,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index e2ef670d8d..0df2c1103b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -49,42 +49,33 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -97,12 +88,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -113,26 +104,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -145,12 +133,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -161,26 +149,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -193,12 +178,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -209,26 +194,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -241,12 +223,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -257,26 +239,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[4].bmag; B3_quad = gkdgv[4].B3; - Jc_quad = dgv[4].Jc; dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[4].g_13; - g_23 = gkdgv[4].g_23; - g_33 = gkdgv[4].g_33; - mag_e_3 = gkdgv[4].mag_e_3; + bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -289,12 +268,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -305,26 +284,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[5].bmag; B3_quad = gkdgv[5].B3; - Jc_quad = dgv[5].Jc; dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[5].g_13; - g_23 = gkdgv[5].g_23; - g_33 = gkdgv[5].g_33; - mag_e_3 = gkdgv[5].mag_e_3; + bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -337,12 +313,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -353,26 +329,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[6].bmag; B3_quad = gkdgv[6].B3; - Jc_quad = dgv[6].Jc; dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[6].g_13; - g_23 = gkdgv[6].g_23; - g_33 = gkdgv[6].g_33; - mag_e_3 = gkdgv[6].mag_e_3; + bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -385,12 +358,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -401,26 +374,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[7].bmag; B3_quad = gkdgv[7].B3; - Jc_quad = dgv[7].Jc; dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[7].g_13; - g_23 = gkdgv[7].g_23; - g_33 = gkdgv[7].g_33; - mag_e_3 = gkdgv[7].mag_e_3; + bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -433,12 +403,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c index 8c97527add..cc407711b2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c @@ -37,35 +37,26 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -77,19 +68,16 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c index 384ab7c242..23fb41943f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c @@ -39,35 +39,26 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -79,7 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -91,19 +82,16 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -115,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*m_bmag_inv * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c index a332f9b5f6..e22733ed54 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c @@ -44,38 +44,29 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -88,9 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -102,22 +93,19 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -130,9 +118,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -144,22 +132,19 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -172,9 +157,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -186,22 +171,19 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -214,9 +196,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*m_bmag_inv * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2)); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index e3e0d57a11..e69f21d77b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -49,42 +49,33 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double m_bmag_inv = 0.0; - double mvpar_over_q = 0.0; - double g_13 = 0.0; - double g_23 = 0.0; - double g_33 = 0.0; - double mag_e_3 = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[0].g_13; - g_23 = gkdgv[0].g_23; - g_33 = gkdgv[0].g_33; - mag_e_3 = gkdgv[0].mag_e_3; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -98,12 +89,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -115,26 +106,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[1].g_13; - g_23 = gkdgv[1].g_23; - g_33 = gkdgv[1].g_33; - mag_e_3 = gkdgv[1].mag_e_3; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -148,12 +136,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -165,26 +153,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[2].g_13; - g_23 = gkdgv[2].g_23; - g_33 = gkdgv[2].g_33; - mag_e_3 = gkdgv[2].mag_e_3; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -198,12 +183,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -215,26 +200,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[3].g_13; - g_23 = gkdgv[3].g_23; - g_33 = gkdgv[3].g_33; - mag_e_3 = gkdgv[3].mag_e_3; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -248,12 +230,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -265,26 +247,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[4].bmag; B3_quad = gkdgv[4].B3; - Jc_quad = dgv[4].Jc; dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[4].g_13; - g_23 = gkdgv[4].g_23; - g_33 = gkdgv[4].g_33; - mag_e_3 = gkdgv[4].mag_e_3; + bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -298,12 +277,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -315,26 +294,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[5].bmag; B3_quad = gkdgv[5].B3; - Jc_quad = dgv[5].Jc; dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[5].g_13; - g_23 = gkdgv[5].g_23; - g_33 = gkdgv[5].g_33; - mag_e_3 = gkdgv[5].mag_e_3; + bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -348,12 +324,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -365,26 +341,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[6].bmag; B3_quad = gkdgv[6].B3; - Jc_quad = dgv[6].Jc; dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[6].g_13; - g_23 = gkdgv[6].g_23; - g_33 = gkdgv[6].g_33; - mag_e_3 = gkdgv[6].mag_e_3; + bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -398,12 +371,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -415,26 +388,23 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[7].bmag; B3_quad = gkdgv[7].B3; - Jc_quad = dgv[7].Jc; dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - m_bmag_inv = 1.0/(m_*bmag_quad); - g_13 = gkdgv[7].g_13; - g_23 = gkdgv[7].g_23; - g_33 = gkdgv[7].g_33; - mag_e_3 = gkdgv[7].mag_e_3; + bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -448,12 +418,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_13 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_23 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2)); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*m_bmag_inv * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -1/m_/bmag_quad/mag_e_3/Jc_quad * (g_33 * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2)); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index dac0eb306d..d87bbae7cc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -44,7 +44,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; @@ -54,7 +53,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; @@ -79,7 +77,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; @@ -104,7 +101,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; @@ -129,7 +125,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index bc4e135bb5..2a02044eb8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -49,7 +49,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; @@ -59,7 +58,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; @@ -84,7 +82,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; @@ -109,7 +106,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; @@ -134,7 +130,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; @@ -159,7 +154,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[4].bmag; B3_quad = gkdgv[4].B3; - Jc_quad = dgv[4].Jc; dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; @@ -184,7 +178,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[5].bmag; B3_quad = gkdgv[5].B3; - Jc_quad = dgv[5].Jc; dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; @@ -209,7 +202,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[6].bmag; B3_quad = gkdgv[6].B3; - Jc_quad = dgv[6].Jc; dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; @@ -234,7 +226,6 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[7].bmag; B3_quad = gkdgv[7].B3; - Jc_quad = dgv[7].Jc; dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index 786ebf6bcc..f15895d3c4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -37,7 +37,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; @@ -47,7 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; @@ -64,7 +62,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index 7417d4164d..3039e2e84a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -39,7 +39,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; @@ -49,7 +48,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; @@ -76,7 +74,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 7ff1b44199..1b6b303679 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -44,7 +44,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; @@ -54,7 +53,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; @@ -83,7 +81,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; @@ -112,7 +109,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; @@ -141,7 +137,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index 0ceca0c8cf..f328a124fe 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -49,7 +49,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( double cfl = 0.0; double bmag_quad = 0.0; double B3_quad = 0.0; - double Jc_quad = 0.0; double dualcurlbhat_quad[3] = {0.0}; double alpha_quad = 0.0; double JfL_quad = 0.0; @@ -59,7 +58,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; - Jc_quad = dgv[0].Jc; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; @@ -90,7 +88,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[1].bmag; B3_quad = gkdgv[1].B3; - Jc_quad = dgv[1].Jc; dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; @@ -121,7 +118,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[2].bmag; B3_quad = gkdgv[2].B3; - Jc_quad = dgv[2].Jc; dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; @@ -152,7 +148,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[3].bmag; B3_quad = gkdgv[3].B3; - Jc_quad = dgv[3].Jc; dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; @@ -183,7 +178,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[4].bmag; B3_quad = gkdgv[4].B3; - Jc_quad = dgv[4].Jc; dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; @@ -214,7 +208,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[5].bmag; B3_quad = gkdgv[5].B3; - Jc_quad = dgv[5].Jc; dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; @@ -245,7 +238,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[6].bmag; B3_quad = gkdgv[6].B3; - Jc_quad = dgv[6].Jc; dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; @@ -276,7 +268,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( bmag_quad = gkdgv[7].bmag; B3_quad = gkdgv[7].B3; - Jc_quad = dgv[7].Jc; dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; diff --git a/gyrokinetic/zero/gk_dg_geom.c b/gyrokinetic/zero/gk_dg_geom.c index be48188840..6348a9ef12 100644 --- a/gyrokinetic/zero/gk_dg_geom.c +++ b/gyrokinetic/zero/gk_dg_geom.c @@ -169,6 +169,12 @@ gkyl_gk_dg_geom_populate_vol(struct gkyl_dg_geom *dg_geom, struct gkyl_gk_dg_geo // set magnitude of e_3 gkdgv[qvloc].mag_e_3 = sqrt(gkdgv[qvloc].g_33); // |e_3| + + // set b_i/J_c/B + global_val = gkyl_array_cfetch(gk_geom->geo_int.bioverJB_nodal, global_loc); + gkdgv[qvloc].bioverJB.x[0] = global_val[0]; + gkdgv[qvloc].bioverJB.x[1] = global_val[1]; + gkdgv[qvloc].bioverJB.x[2] = global_val[2]; } } } diff --git a/gyrokinetic/zero/gkyl_gk_dg_geom.h b/gyrokinetic/zero/gkyl_gk_dg_geom.h index 4cfb0768f8..2ce47525bb 100644 --- a/gyrokinetic/zero/gkyl_gk_dg_geom.h +++ b/gyrokinetic/zero/gkyl_gk_dg_geom.h @@ -28,6 +28,7 @@ struct gkyl_gk_dg_vol_geom { double g_23; // metric tensor component g_{23} = e_2 . e_3 double g_33; // metric tensor component g_{33} = e_3 . e_3 double mag_e_3; // magnitude of e_3 + struct gkyl_vec3 bioverJB; // b_i/J_c/B }; From 72a597a8d218ad375cbb21ae545c89dc712c56bb Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 9 Apr 2026 14:21:06 -0400 Subject: [PATCH 134/181] =?UTF-8?q?the=20sign=20of=20the=20v=20parallel=20?= =?UTF-8?q?surface=20flux=20=E2=88=87A=20x=20b=20.=20=E2=88=87H=20term=20w?= =?UTF-8?q?as=20wrong,=20thanks=20@akashukla?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c | 13 -- .../dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c | 22 --- .../dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c | 48 +++---- .../dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c | 128 +++++++++--------- ...onless_flux_em_star_surfvpar_2x2v_ser_p1.c | 16 +-- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 96 ++++++------- ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 16 +-- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 96 ++++++------- 8 files changed, 200 insertions(+), 235 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c index 2c9e566d31..f29ff1cb68 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c @@ -47,25 +47,12 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const hamil2[1] = hamil[4]*hamil[4]; double alphax[6] = {0.}; - alphax[0] = ((0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdx2)/(vmap[1]*m_); - alphax[1] = ((0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdx2)/(vmap[1]*m_); - alphax[2] = ((1.5811388300841895*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+1.5811388300841895*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdx2)/(vmap[1]*m_); - alphax[3] = ((1.5811388300841895*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+1.5811388300841895*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdx2)/(vmap[1]*m_); - out[1] += 0.8660254037844386*(alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); - out[3] += 0.7745966692414834*alphax[3]*fin[5]+0.7745966692414833*alphax[2]*fin[4]+0.8660254037844386*(alphax[1]*fin[3]+fin[1]*alphax[3]+alphax[0]*fin[2]+fin[0]*alphax[2]); - out[5] += 0.8660254037844386*alphax[1]*fin[5]+0.8660254037844387*alphax[0]*fin[4]+0.7745966692414834*(alphax[3]*fin[3]+alphax[2]*fin[2]); double alphavpar[6] = {0.}; - alphavpar[0] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/(vmap[1]*m_); - alphavpar[1] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/(vmap[1]*m_); - out[2] += 0.8660254037844386*(alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); - out[3] += 0.8660254037844386*(alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); - out[4] += 1.9364916731037085*(alphavpar[1]*fin[3]+alphavpar[0]*fin[2]); - out[5] += 1.9364916731037085*(alphavpar[0]*fin[3]+alphavpar[1]*fin[2]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c index 0cf6e8271f..7867f153e4 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c @@ -50,34 +50,12 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const hamil2[1] = hamil[8]*hamil[8]; double alphax[12] = {0.}; - alphax[0] = ((0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdx2)/(vmap[1]*m_); - alphax[1] = ((0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]+0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdx2)/(vmap[1]*m_); - alphax[2] = ((1.5811388300841895*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]+1.5811388300841895*apar[0]*dualcurlbhatoverB_z[0]*hamil[8])*rdx2)/(vmap[1]*m_); - alphax[4] = ((1.5811388300841895*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]+1.5811388300841895*dualcurlbhatoverB_z[0]*apar[1]*hamil[8])*rdx2)/(vmap[1]*m_); - out[1] += 0.6123724356957944*(alphax[4]*fin[4]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); - out[4] += 0.5477225575051661*(alphax[4]*fin[9]+alphax[2]*fin[8])+0.6123724356957944*(alphax[1]*fin[4]+fin[1]*alphax[4]+alphax[0]*fin[2]+fin[0]*alphax[2]); - out[5] += 0.6123724356957944*(alphax[4]*fin[7]+alphax[2]*fin[6]+alphax[1]*fin[5]+alphax[0]*fin[3]); - out[7] += 0.5477225575051661*(alphax[4]*fin[11]+alphax[2]*fin[10])+0.6123724356957944*(alphax[1]*fin[7]+alphax[0]*fin[6]+alphax[4]*fin[5]+alphax[2]*fin[3]); - out[9] += 0.6123724356957944*(alphax[1]*fin[9]+alphax[0]*fin[8])+0.5477225575051661*(alphax[4]*fin[4]+alphax[2]*fin[2]); - out[11] += 0.6123724356957944*(alphax[1]*fin[11]+alphax[0]*fin[10])+0.5477225575051661*(alphax[4]*fin[7]+alphax[2]*fin[6]); double alphavpar[12] = {0.}; - alphavpar[0] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[1])*rdx2)/(vmap[1]*m_); - alphavpar[1] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[1])-0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[1])*rdx2)/(vmap[1]*m_); - alphavpar[3] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_z[1]*hamil[5])-0.7071067811865475*apar[0]*dualcurlbhatoverB_z[0]*hamil[5])*rdx2)/(vmap[1]*m_); - alphavpar[5] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_z[1]*hamil[5])-0.7071067811865475*dualcurlbhatoverB_z[0]*apar[1]*hamil[5])*rdx2)/(vmap[1]*m_); - out[2] += 0.6123724356957944*(alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); - out[4] += 0.6123724356957944*(alphavpar[3]*fin[5]+fin[3]*alphavpar[5]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); - out[6] += 0.6123724356957944*(alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); - out[7] += 0.6123724356957944*(alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); - out[8] += 1.369306393762915*(alphavpar[5]*fin[7]+alphavpar[3]*fin[6]+alphavpar[1]*fin[4]+alphavpar[0]*fin[2]); - out[9] += 1.369306393762915*(alphavpar[3]*fin[7]+alphavpar[5]*fin[6]+alphavpar[0]*fin[4]+alphavpar[1]*fin[2]); - out[10] += 1.369306393762915*(alphavpar[1]*fin[7]+alphavpar[0]*fin[6]+fin[4]*alphavpar[5]+fin[2]*alphavpar[3]); - out[11] += 1.369306393762915*(alphavpar[0]*fin[7]+alphavpar[1]*fin[6]+fin[2]*alphavpar[5]+alphavpar[3]*fin[4]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c index a5bad6c840..57e728ad3b 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const hamil2[1] = hamil[16]*hamil[16]; double alphax[24] = {0.}; - alphax[0] = (((-(0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[1] = (((-(0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[3] = (((-(1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[0]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[3])-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[6] = (((-(1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_y[3]*hamil[16])-1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_x[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_x[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[0] = ((-(0.6123724356957944*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]-0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[1] = ((-(1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*apar[2]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]-0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[2] = ((-(0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[3] = ((-(1.369306393762915*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[5] = ((-(0.5511351921262146*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.5511351921262146*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[2]*hamil[3]*jacobtot_inv[3]-1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphax[6] = ((-(2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.232375754386623*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]-1.369306393762915*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]-1.232375754386623*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[7] = ((-(0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16])-0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[11] = ((-(1.232375754386623*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.232375754386623*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[16]-2.4647515087732463*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); out[1] += 0.4330127018922193*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -79,14 +79,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphax[1]*fin[23]+0.43301270189221935*(alphax[0]*fin[22]+alphax[5]*fin[21])+0.4330127018922193*alphax[2]*fin[19]+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); double alphaz[24] = {0.}; - alphaz[0] = (((0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[3]+0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[1] = (((0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[2] = (((0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[3] = (((1.369306393762915*bioverJB_y[2]*apar[3]*hamil[16]+1.369306393762915*bioverJB_y[0]*apar[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[0]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[5] = (((0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[3]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[6] = (((1.369306393762915*apar[3]*bioverJB_y[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[1]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[7] = (((1.369306393762915*bioverJB_y[0]*apar[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_y[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[11] = (((1.369306393762915*apar[1]*bioverJB_y[3]*hamil[16]+1.369306393762915*bioverJB_y[1]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_z[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_z[1]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[0] = ((0.6123724356957944*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[1] = ((0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[2] = ((1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[3] = ((1.369306393762915*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[5] = ((0.5511351921262146*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[6] = ((0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[7] = ((2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+1.232375754386623*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+1.232375754386623*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[11] = ((1.232375754386623*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.232375754386623*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+2.4647515087732463*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]+0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); out[2] += 0.4330127018922193*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -103,14 +103,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphaz[2]*fin[23]+0.43301270189221935*(alphaz[5]*fin[22]+alphaz[0]*fin[21])+0.4330127018922193*alphaz[1]*fin[19]+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); double alphavpar[24] = {0.}; - alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[5]-0.6123724356957944*bioverJB_y[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_z[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[5]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_y[3]+0.6123724356957944*bioverJB_y[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[2]+0.6123724356957944*bioverJB_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_x[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_x[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[5])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[12]-0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[5])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_y[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_y[3]-0.6123724356957944*bioverJB_y[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_y[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_z[3]-0.3535533905932737*dualcurlbhatoverB_z[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.3535533905932737*dualcurlbhatoverB_x[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_x[2]-0.3535533905932737*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[1]*hamil[9]+0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_z[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[12])+0.6123724356957944*bioverJB_y[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_y[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_y[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_y[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_x[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_y[2]*hamil[12])+0.6123724356957944*bioverJB_y[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_y[3]*hamil[9]-0.6123724356957944*bioverJB_y[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_y[3]*hamil[8]+0.6123724356957944*bioverJB_y[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_z[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_z[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_z[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_z[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_z[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_x[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_x[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_x[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_x[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[0] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[5])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[5]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[5]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[5]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[5]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3]-0.6123724356957944*b_y[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*b_y[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*jacobtot_inv[2]*apar[3]*b_y[3]-0.6123724356957944*jacobtot_inv[1]*hamil[2]*apar[3]*b_y[3]-0.3061862178478971*apar[0]*hamil[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[0]*apar[2]*hamil[2]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]-0.3061862178478971*b_y[0]*hamil[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*hamil[2]*apar[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[2]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[2]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[2]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[2]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[2]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[1] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[5])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[5]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[5]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[5]+1.1022703842524295*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*hamil[2]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*hamil[2]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*hamil[2]*apar[3]*b_y[3]-0.6123724356957944*apar[1]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.6123724356957944*hamil[1]*apar[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[1]*apar[2]*hamil[2]*b_y[3]+0.5511351921262146*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]-0.6123724356957944*b_y[1]*hamil[2]*jacobtot_inv[2]*apar[3]+0.6123724356957944*hamil[1]*b_y[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*hamil[2]*apar[3]+0.5511351921262146*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[2]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[2]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[2]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[2] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[5]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[5]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[5]-1.1022703842524295*hamil[2]*apar[3]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3]-0.5511351921262146*apar[2]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.6123724356957944*apar[1]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[2]*b_y[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3]-0.5511351921262146*b_y[2]*hamil[2]*jacobtot_inv[2]*apar[3]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[2]*apar[3]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*b_y[2]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[2]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[2]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[4] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[12])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[12]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[12]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[12]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[12]-0.6123724356957944*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[9]+0.6123724356957944*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[5] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[5]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[5]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[5]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[5]-0.5511351921262146*apar[2]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.5511351921262146*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]-0.5511351921262146*b_y[2]*hamil[2]*apar[3]*jacobtot_inv[3]+0.5511351921262146*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[3]-1.1022703842524295*hamil[2]*jacobtot_inv[2]*apar[3]*b_y[3]+1.1022703842524295*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.6123724356957944*jacobtot_inv[0]*apar[1]*hamil[2]*b_y[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*hamil[2]*apar[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*b_y[2]*apar[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[2]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[2]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[8] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[12]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[12]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[12]-0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[9]+1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[8]+0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[8]+0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[9] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[12]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[12]-1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[9]-0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[9]+0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[12] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[12]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[12]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[9]-1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[9]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[9]+0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[8]+1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); out[3] += 0.4330127018922193*(alphavpar[12]*fin[12]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c index 898842baeb..2cbc2e69ad 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c @@ -60,22 +60,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const hamil2[1] = hamil[32]*hamil[32]; double alphax[48] = {0.}; - alphax[0] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7]+0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[6]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[1] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[6]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[2] = (((-(0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[3] = (((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5])-0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[6]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5]+0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[4] = (((-(0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[0]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[6] = (((-(0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_x[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[7] = (((-(0.3061862178478971*apar[3]*hamil[4]*bioverJB_y[5])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[6]+0.3061862178478971*apar[2]*hamil[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[8] = (((-(0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7])-0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[9] = (((-(0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[5]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[1]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[10] = (((-(0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[0]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[11] = (((-(0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32])-0.6846531968814573*apar[3]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[0]*apar[6]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[16] = (((-(0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_x[5]+0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[4])*rdx2)/vmap[1])/m_; - alphax[17] = (((-(0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[1]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[18] = (((-(0.6846531968814573*apar[3]*bioverJB_y[5]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_z[1]*apar[6]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_z[5]*hamil[32]+0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_x[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[19] = (((-(0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[3]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[3]*hamil[32])*rdx2)/vmap[1])/m_; - alphax[26] = (((-(0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_y[5]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_x[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_x[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_x[3]*apar[4]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[0] = (((-(0.21650635094610965*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]-0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]+0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[1] = (((-(0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*apar[3]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_z[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]+0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[2] = ((-(0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]-0.21650635094610965*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[3] = (((-(0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[4] = (((-(0.4841229182759271*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[6] = ((-(0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7])-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[7] = (((-(0.19485571585149863*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.19485571585149863*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[3]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]+0.19485571585149863*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[2]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphax[8] = ((-(0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[9] = (((-(0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.43571062644833425*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]+0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[10] = ((-(0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]-0.4841229182759271*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[11] = (((-(0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]+0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[16] = ((-(0.19485571585149863*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphax[17] = ((-(0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[18] = (((-(0.43571062644833425*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.7842791276070014*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]+0.43571062644833425*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphax[19] = ((-(0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[26] = ((-(0.43571062644833425*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); out[1] += 0.3061862178478971*(alphax[26]*fin[26]+alphax[19]*fin[19]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[16]*fin[16]+alphax[11]*fin[11]+alphax[10]*fin[10]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -104,22 +104,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphax[1]*fin[47]+alphax[0]*fin[46]+alphax[6]*fin[45]+alphax[7]*fin[44]+alphax[2]*fin[42]+alphax[3]*fin[41]+alphax[16]*fin[40]+alphax[8]*fin[36])+0.273861278752583*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[17]*fin[29]+alphax[18]*fin[28]+fin[23]*alphax[26]+alphax[10]*fin[25]+alphax[11]*fin[24]+fin[15]*alphax[19]); double alphay[48] = {0.}; - alphay[0] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[1] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_z[5])-0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[2] = (((0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[3]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[3] = (((0.3061862178478971*hamil[4]*apar[5]*bioverJB_x[5]+0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[5])-0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[4] = (((0.6846531968814573*bioverJB_x[1]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[0]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[6] = (((0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*bioverJB_z[5]*apar[7])-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_y[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[7] = (((0.3061862178478971*apar[3]*hamil[4]*bioverJB_x[5]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[5])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*hamil[4]*bioverJB_z[5])-0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[8] = (((0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7]+0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[9] = (((0.6846531968814573*bioverJB_x[0]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[5]*bioverJB_z[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[1]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[10] = (((0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[0]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[11] = (((0.6846531968814573*apar[5]*bioverJB_x[5]*hamil[32]+0.6846531968814573*apar[3]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_z[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[16] = (((0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*hamil[4]*apar[7])-0.3061862178478971*apar[4]*hamil[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_y[5]+0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[4])*rdy2)/vmap[1])/m_; - alphay[17] = (((0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[18] = (((0.6846531968814573*apar[3]*bioverJB_x[5]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[5]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[1]*bioverJB_z[5]*hamil[32])-0.6846531968814573*bioverJB_z[1]*apar[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_y[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[19] = (((0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[3]*hamil[32])*rdy2)/vmap[1])/m_; - alphay[26] = (((0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_z[1]*apar[7]*hamil[32])-0.6846531968814573*apar[4]*bioverJB_z[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_y[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_y[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_y[3]*apar[4]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[0] = (((0.21650635094610965*apar[3]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*b_x[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[5]+0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[4]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*apar[1]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*b_z[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[1] = (((0.38971143170299727*hamil[4]*apar[5]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*apar[3]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_x[5]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[0]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.10825317547305482*b_z[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_z[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[2] = (((0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]+0.21650635094610965*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[3] = (((0.10825317547305482*apar[0]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*apar[5]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*apar[1]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_z[5]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[4] = (((0.4841229182759271*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[6] = (((0.38971143170299727*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[7] = (((0.19485571585149863*apar[1]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[3]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[3]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.19485571585149863*b_z[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*apar[1]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[5]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[8] = (((0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]-0.21650635094610965*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[9] = (((0.8714212528966685*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.43571062644833425*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[10] = (((0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]+0.4841229182759271*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[11] = (((0.24206145913796356*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[32]-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[16] = (((0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; + alphay[17] = (((0.8714212528966685*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[18] = (((0.43571062644833425*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[19] = (((0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]-0.4841229182759271*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[26] = (((0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]-0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; out[2] += 0.3061862178478971*(alphay[26]*fin[26]+alphay[19]*fin[19]+alphay[18]*fin[18]+alphay[17]*fin[17]+alphay[16]*fin[16]+alphay[11]*fin[11]+alphay[10]*fin[10]+alphay[9]*fin[9]+alphay[8]*fin[8]+alphay[7]*fin[7]+alphay[6]*fin[6]+alphay[4]*fin[4]+alphay[3]*fin[3]+alphay[2]*fin[2]+alphay[1]*fin[1]+alphay[0]*fin[0]); @@ -148,22 +148,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphay[2]*fin[47]+alphay[6]*fin[46]+alphay[0]*fin[45]+alphay[8]*fin[44]+alphay[1]*fin[42]+alphay[16]*fin[41]+alphay[3]*fin[40]+alphay[7]*fin[36])+0.273861278752583*(alphay[10]*fin[31]+alphay[17]*fin[30]+alphay[4]*fin[29]+alphay[19]*fin[28]+fin[24]*alphay[26]+alphay[9]*fin[25]+alphay[11]*fin[23]+fin[15]*alphay[18]); double alphaz[48] = {0.}; - alphaz[0] = (((-(0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[7])-0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[6]-0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[1] = (((-(0.3061862178478971*bioverJB_x[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*apar[5]*bioverJB_y[5]+0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[2] = (((0.3061862178478971*bioverJB_y[3]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[3] = (((-(0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[6]-0.3061862178478971*apar[4]*hamil[4]*bioverJB_x[5]-0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[5]+0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[4] = (((-(0.6846531968814573*bioverJB_x[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[3]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[3]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[0]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[6] = (((0.3061862178478971*hamil[4]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_z[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[7] = (((-(0.3061862178478971*bioverJB_x[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_x[1]*hamil[4]*apar[6]-0.3061862178478971*apar[2]*hamil[4]*bioverJB_x[5]-0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*hamil[4]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[8] = (((0.3061862178478971*bioverJB_y[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[9] = (((-(0.6846531968814573*bioverJB_x[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[5]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_x[0]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[5]*bioverJB_y[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[1]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[10] = (((0.6846531968814573*bioverJB_y[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[0]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[11] = (((-(0.6846531968814573*bioverJB_x[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[0]*apar[6]*hamil[32]-0.6846531968814573*apar[4]*bioverJB_x[5]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_y[0]*apar[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[16] = (((0.3061862178478971*bioverJB_y[1]*hamil[4]*apar[7]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_z[5]+0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[4])*rdz2)/vmap[1])/m_; - alphaz[17] = (((0.6846531968814573*bioverJB_y[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[18] = (((-(0.6846531968814573*bioverJB_x[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_x[1]*apar[6]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_x[5]*hamil[32]-0.6846531968814573*bioverJB_x[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[1]*bioverJB_y[5]*hamil[32]+0.6846531968814573*bioverJB_y[1]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_z[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[19] = (((0.6846531968814573*bioverJB_y[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[3]*hamil[32])*rdz2)/vmap[1])/m_; - alphaz[26] = (((0.6846531968814573*bioverJB_y[1]*apar[7]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_y[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_z[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_z[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_z[3]*apar[4]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[0] = (((-(0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[4]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.21650635094610965*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[1] = (((-(0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[2] = ((0.21650635094610965*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[3] = (((-(0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[4] = (((-(0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.4841229182759271*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[6] = ((0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[7] = (((-(0.35074028853269745*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]-0.19485571585149863*b_x[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*apar[2]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*apar[1]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; + alphaz[8] = ((0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]+0.21650635094610965*b_y[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[9] = (((-(0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]-0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[10] = ((0.4841229182759271*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[11] = (((-(0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]-0.43571062644833425*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[16] = ((0.19485571585149863*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_y[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[17] = ((0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[18] = (((-(0.7842791276070014*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]-0.43571062644833425*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.43571062644833425*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; + alphaz[19] = ((0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]+0.4841229182759271*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[26] = ((0.43571062644833425*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]+0.43571062644833425*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); out[3] += 0.3061862178478971*(alphaz[26]*fin[26]+alphaz[19]*fin[19]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[16]*fin[16]+alphaz[11]*fin[11]+alphaz[10]*fin[10]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -192,22 +192,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphaz[3]*fin[47]+alphaz[7]*fin[46]+alphaz[8]*fin[45]+alphaz[0]*fin[44]+alphaz[16]*fin[42]+alphaz[1]*fin[41]+alphaz[2]*fin[40]+alphaz[6]*fin[36])+0.273861278752583*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[19]*fin[29]+alphaz[4]*fin[28]+fin[25]*alphaz[26]+alphaz[9]*fin[24]+alphaz[10]*fin[23]+fin[15]*alphaz[17]); double alphavpar[48] = {0.}; - alphavpar[0] = (((-(0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[16])-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_x[5]*hamil[8]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[7]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[7]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[7]+0.3061862178478971*bioverJB_y[1]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[5]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[5]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[3]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[7]-0.1767766952966368*hamil[3]*apar[5]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[8]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[7]+0.3061862178478971*apar[5]*bioverJB_z[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[5]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[4]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[2]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[2]*apar[5]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[16]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[5]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[1] = (((-(0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[16])-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[16]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[8]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[8]+0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[7]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[7]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[7]-0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[6]+0.3061862178478971*hamil[3]*bioverJB_x[5]*apar[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[7]+0.3061862178478971*bioverJB_y[0]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[6]-0.3061862178478971*hamil[3]*apar[5]*bioverJB_y[5]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[3]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[7]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[7]-0.1767766952966368*apar[3]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[7]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[7]+0.3061862178478971*bioverJB_z[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_z[5]*apar[6]+0.3061862178478971*hamil[2]*apar[5]*bioverJB_z[5]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[4]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[2]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_y[3]*hamil[6]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[6]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[2]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[1]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[2] = (((0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[8]-0.3061862178478971*bioverJB_x[0]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[8]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[7]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[16]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[7]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[7]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[7]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[3] = (((-(0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[8]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[7]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[7]-0.3061862178478971*apar[3]*bioverJB_x[5]*hamil[6]-0.3061862178478971*bioverJB_x[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[6]-0.3061862178478971*hamil[2]*apar[5]*bioverJB_x[5]+0.3061862178478971*hamil[3]*apar[4]*bioverJB_x[5]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[3]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[16]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[7]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[5]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[6]+0.3061862178478971*hamil[1]*apar[5]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[5]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[3]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[7]-0.1767766952966368*apar[1]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[8]-0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[7]+0.3061862178478971*apar[1]*bioverJB_z[5]*hamil[6]+0.3061862178478971*bioverJB_z[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[6]-0.3061862178478971*hamil[1]*apar[4]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[5]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[3]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[3])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[5]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[6]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[5]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; - alphavpar[5] = (((0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[5]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[21]-0.3061862178478971*bioverJB_z[5]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[6] = (((0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[8]-0.5511351921262146*bioverJB_x[1]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_x[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_x[1]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[8]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[7]-0.3061862178478971*hamil[3]*bioverJB_y[5]*apar[7]+0.3061862178478971*bioverJB_y[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_y[1]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[16]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_z[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[16]+0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[8]+0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_z[5]*apar[7]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[6]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[7] = (((-(0.5511351921262146*bioverJB_x[1]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_x[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_x[0]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_x[1]*apar[3]*hamil[8]+0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[7]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[7]+0.3061862178478971*bioverJB_x[0]*hamil[3]*apar[7]-0.5511351921262146*apar[5]*bioverJB_x[5]*hamil[6]-0.3061862178478971*apar[3]*bioverJB_x[3]*hamil[6]+0.3061862178478971*bioverJB_x[1]*hamil[3]*apar[6]+0.3061862178478971*apar[2]*hamil[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_x[5]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[5]+0.3061862178478971*bioverJB_x[3]*hamil[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[8]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[7]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_y[3]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[6]-0.3061862178478971*apar[1]*hamil[3]*bioverJB_y[5]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_y[5]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[5]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[7]-0.1767766952966368*apar[0]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[5]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*bioverJB_z[3]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_z[0]*apar[1]*hamil[16]+0.5511351921262146*apar[5]*bioverJB_z[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_z[1]*hamil[8]-0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_z[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_z[0]*apar[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_z[3]*hamil[6]-0.3061862178478971*bioverJB_z[1]*hamil[1]*apar[6]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_z[5]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_z[5]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[5]-0.3061862178478971*hamil[1]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*apar[5]*dualcurlbhatoverB_y[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[0]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_y[5]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[1]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_y[5]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[3]*hamil[6]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[5]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_y[3]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[6]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_x[5]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[5]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_x[3]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; - alphavpar[8] = (((0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[16]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[16]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[8]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[8]-0.3061862178478971*bioverJB_x[3]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[7]-0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[16])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[8]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[7]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[7]-0.3061862178478971*bioverJB_y[0]*hamil[3]*apar[7]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[6]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[6]-0.3061862178478971*bioverJB_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[6]-0.1767766952966368*hamil[3]*apar[4]*dualcurlbhatoverB_z[5]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[3])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[6]+0.3061862178478971*hamil[2]*bioverJB_z[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[3]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[6]-0.1767766952966368*hamil[2]*apar[4]*dualcurlbhatoverB_y[5]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[3])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[4]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[3])*rdx2)/vmap[1])/m_; - alphavpar[12] = (((0.5511351921262146*bioverJB_x[5]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[21]+0.5511351921262146*bioverJB_x[1]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[5]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[1]*hamil[21]-0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[1]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[3]*hamil[21]-0.31819805153394626*apar[1]*dualcurlbhatoverB_z[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[0]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[1]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[1]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[3]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[5]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[13] = (((0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[21]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[14] = (((0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[21]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_x[1]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[14]+0.3061862178478971*apar[4]*bioverJB_x[5]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[21])+0.3061862178478971*bioverJB_y[0]*apar[3]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[14]+0.3061862178478971*apar[5]*bioverJB_y[5]*hamil[12]+0.3061862178478971*apar[3]*bioverJB_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[0]*apar[6]*hamil[12]-0.3061862178478971*apar[4]*bioverJB_z[5]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[3]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*apar[3]*dualcurlbhatoverB_x[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[0]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[16] = (((0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[8]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[8]-0.5511351921262146*bioverJB_x[5]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_x[3]*apar[7]-0.3061862178478971*bioverJB_x[3]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_x[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[16])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[8]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_y[1]*hamil[3]*apar[7]+0.3061862178478971*hamil[1]*bioverJB_y[3]*apar[7]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[6]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_y[5]*apar[6]-0.3061862178478971*hamil[3]*apar[4]*bioverJB_y[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[7]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_z[0]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_z[1]*hamil[3]*apar[6]-0.1767766952966368*apar[2]*hamil[3]*dualcurlbhatoverB_z[5]-0.1767766952966368*dualcurlbhatoverB_z[3]*hamil[3]*apar[4])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_z[5]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_z[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_z[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[6]+0.3061862178478971*hamil[2]*apar[4]*bioverJB_z[5])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*dualcurlbhatoverB_y[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_y[3]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_y[1]*apar[2]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_y[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_y[0]*apar[6]*hamil[6]-0.31819805153394626*apar[4]*dualcurlbhatoverB_y[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_y[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_y[1]*hamil[2]*apar[6]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_y[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_y[3]*apar[4])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_x[0]*hamil[1]*apar[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_x[1]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_x[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_x[3]*apar[4])*rdx2)/vmap[1])/m_; - alphavpar[20] = (((0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[5]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[6]*hamil[21]-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[5]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[5]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[21] = (((0.5511351921262146*bioverJB_x[1]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[6]*hamil[21]+0.5511351921262146*apar[4]*bioverJB_x[5]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_x[3]*hamil[21]+0.3061862178478971*bioverJB_x[0]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_x[1]*apar[6]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_x[5]*hamil[14]+0.3061862178478971*bioverJB_x[3]*apar[4]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_y[3]*hamil[21])+0.3061862178478971*bioverJB_y[1]*apar[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_y[5]*hamil[14]-0.3061862178478971*bioverJB_y[1]*apar[5]*hamil[14]+0.3061862178478971*apar[3]*bioverJB_y[5]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[5]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_z[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_z[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[3]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[5]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_z[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_z[3]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_z[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_z[1]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_z[0]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_z[1]*apar[6]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_z[5]*hamil[12]-0.3061862178478971*bioverJB_z[3]*apar[4]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_x[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[5]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_x[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[22] = (((0.3061862178478971*bioverJB_y[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[21]-0.3061862178478971*bioverJB_y[0]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_y[5]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[3]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[14]-0.1767766952966368*apar[4]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[5]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[3]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[6]*hamil[12]-0.1767766952966368*apar[4]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[3]*hamil[12])*rdx2)/vmap[1])/m_; - alphavpar[27] = (((0.3061862178478971*bioverJB_y[1]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_y[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_y[1]*apar[7]*hamil[14]-0.3061862178478971*apar[4]*bioverJB_y[5]*hamil[14]+0.3061862178478971*bioverJB_y[3]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_y[5]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_z[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[6]*hamil[21]-0.31819805153394626*apar[4]*dualcurlbhatoverB_z[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_z[0]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[1]*apar[6]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_z[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_z[3]*apar[4]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_x[3]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_x[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_x[0]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[1]*apar[6]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_x[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_x[3]*apar[4]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[0] = (((-(0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[7]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[6]+0.10825317547305482*apar[2]*hamil[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*b_x[3]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[5]*b_x[5]+0.10825317547305482*hamil[3]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[4]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[3]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[3]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[3]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[8]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[6]*apar[7]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[6]-0.21650635094610965*apar[1]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*b_y[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*apar[5]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*hamil[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[3]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[16]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.38971143170299727*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.21650635094610965*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[8]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[7]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[7]+0.10825317547305482*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[6]+0.21650635094610965*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[6]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[6]+0.21650635094610965*apar[1]*hamil[2]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[5]*jacobtot_inv[5]+0.21650635094610965*b_z[1]*hamil[2]*apar[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[5]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[3]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[4]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[3]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[3]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[2]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[2]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[1] = (((-(0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[16]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[7]+0.19485571585149863*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[6]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[6]-0.38971143170299727*hamil[2]*apar[5]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*hamil[3]*apar[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_x[5]-0.21650635094610965*hamil[2]*apar[3]*jacobtot_inv[3]*b_x[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[5]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[5]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[5]+0.10825317547305482*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[4]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[3]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[16]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]-0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[7]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[6]*apar[7]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[6]+0.38971143170299727*hamil[1]*apar[5]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[5]*b_y[5]-0.21650635094610965*apar[1]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.21650635094610965*hamil[1]*apar[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[3]*b_y[5]+0.19485571585149863*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[5]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[16]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[7]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[6]-0.19485571585149863*hamil[1]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_z[5]+0.21650635094610965*apar[1]*hamil[2]*jacobtot_inv[3]*b_z[5]-0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*apar[3]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[4]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[2]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[2]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[2] = (((-(0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[16])-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[8]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*hamil[6]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[6]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[7]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.21650635094610965*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[6]-0.21650635094610965*hamil[3]*apar[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_y[5]-0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[4]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[16]+0.38971143170299727*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[8]+0.21650635094610965*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[2]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[4]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[3] = (((-(0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[16]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[16]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[7]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[6]-0.10825317547305482*apar[0]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[1]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[16]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[16]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[8]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[7]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[6]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[6]-0.38971143170299727*hamil[3]*apar[5]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[5]*jacobtot_inv[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[5]*b_y[5]-0.19485571585149863*apar[3]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[3]*b_y[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[5]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[5]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[5]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[16]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[8]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[7]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[7]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[6]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[6]+0.38971143170299727*hamil[2]*apar[5]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[4]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_z[5]+0.19485571585149863*hamil[2]*apar[3]*jacobtot_inv[3]*b_z[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[5]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[5]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[5]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[3]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[3]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[3]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[5] = (((0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[21]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[14]+0.10825317547305482*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[21]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[14]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[21]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[12]-0.10825317547305482*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[6] = (((-(0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[16])-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[3]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*hamil[6]*apar[7]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*hamil[6]*apar[7]-0.38971143170299727*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[6]-0.19485571585149863*jacobtot_inv[1]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[8]-0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[7]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[7]+0.38971143170299727*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[6]-0.10825317547305482*apar[2]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[3]*jacobtot_inv[3]*apar[4]*b_y[5]+0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[4]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[16]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[8]+0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[8]+0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*apar[2]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*hamil[2]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[4]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[7] = (((-(0.7014805770653949*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.7014805770653949*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.7014805770653949*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[16]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[16]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[8]+0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[7]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[7]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[7]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[7]+0.35074028853269745*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[7]-0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[6]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[6]-0.19485571585149863*apar[1]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.19485571585149863*b_x[1]*hamil[2]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*apar[5]*b_x[5]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[16]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[8]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[8]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[8]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[7]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[7]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.19485571585149863*apar[3]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*apar[1]*hamil[1]*b_y[5]*jacobtot_inv[5]-0.19485571585149863*b_y[3]*hamil[3]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_y[1]*hamil[1]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[5]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*apar[5]*b_y[5]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[3]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[16]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[16]+0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[8]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[8]-0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[7]-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[7]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[7]-0.35074028853269745*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[6]+0.19485571585149863*hamil[2]*apar[3]*b_z[5]*jacobtot_inv[5]+0.19485571585149863*hamil[2]*b_z[3]*apar[5]*jacobtot_inv[5]-0.19485571585149863*b_z[1]*hamil[1]*apar[4]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[5]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*apar[5]*b_z[5]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[4]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[3]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[3]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[8] = (((-(0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[16])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[6]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[6]-0.10825317547305482*apar[2]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*b_x[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[16]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[7]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[7]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[7]-0.38971143170299727*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[7]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[6]+0.10825317547305482*hamil[1]*apar[2]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*b_y[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[4]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[8]+0.38971143170299727*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[6]*apar[7]+0.38971143170299727*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[6]+0.21650635094610965*b_z[1]*hamil[2]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[4]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[3])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[12] = (((0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[14]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[14]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[21])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[21]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[14]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[12]-0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[12]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[13] = ((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[14]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[14]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[12]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[14] = (((0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[14]+0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[21]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[21]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[14]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[21]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[12]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[16] = (((-(0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[16])-0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[0]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[0]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[7]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[6]-0.19485571585149863*hamil[2]*apar[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_x[5]-0.10825317547305482*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[16]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[7]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[7]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[6]-0.19485571585149863*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[6]+0.19485571585149863*hamil[1]*apar[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[4]*b_y[5]+0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[16]+0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[16]+0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.35074028853269745*b_z[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[5]*apar[7]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[6]+0.10825317547305482*b_z[0]*hamil[2]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[4])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[20] = ((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[21]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[12]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[21] = (((0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[21]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[21]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[14]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[21]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[21]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[21]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[14]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[21])-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[21]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[21]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[12]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; + alphavpar[22] = ((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[21]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[21]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[14]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[14]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[12]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[27] = ((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[21]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[14]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[14]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[14]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[12]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); out[4] += 0.3061862178478971*(alphavpar[27]*fin[27]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[16]*fin[16]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c index 468c7ebeeb..99f17bec3e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -80,7 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -117,7 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -140,7 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -154,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -177,7 +177,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -191,7 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index 0df2c1103b..d758236228 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -71,11 +71,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -89,11 +89,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -116,11 +116,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -134,11 +134,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -161,11 +161,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -179,11 +179,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -206,11 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -224,11 +224,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -251,11 +251,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -269,11 +269,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -296,11 +296,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -314,11 +314,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -341,11 +341,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -359,11 +359,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -386,11 +386,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -404,11 +404,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c index e22733ed54..ef3f8fd71a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -81,7 +81,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -120,7 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -144,7 +144,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index e69f21d77b..4c0363ace2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -71,11 +71,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -90,11 +90,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -118,11 +118,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -137,11 +137,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -165,11 +165,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -184,11 +184,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -212,11 +212,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -231,11 +231,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -259,11 +259,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -278,11 +278,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -306,11 +306,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -325,11 +325,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -353,11 +353,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -372,11 +372,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -400,11 +400,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -419,11 +419,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; From 119c3c7dd04e3c80caae057fff98fe22ef08c8cb Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 10 Apr 2026 20:54:31 -0400 Subject: [PATCH 135/181] this is a refactor version of the kernel, rewritten to match equations as much as possible and reviewed --- .../dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c | 31 ++- .../dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c | 40 +++- .../dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c | 66 +++---- .../dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c | 146 +++++++------- .../dg_gyrokinetic_no_by_vol_2x2v_ser_p1.c | 12 +- .../dg_gyrokinetic_no_by_vol_3x2v_ser_p1.c | 12 +- .../dg_gyrokinetic_vol_1x1v_ser_p1.c | 32 ++-- .../dg_gyrokinetic_vol_1x2v_ser_p1.c | 40 ++-- .../dg_gyrokinetic_vol_2x2v_ser_p1.c | 108 +++++------ .../dg_gyrokinetic_vol_3x2v_ser_p1.c | 180 +++++++++--------- ...ollisionless_flux_edge_surfx_1x1v_ser_p1.c | 20 +- ...ollisionless_flux_edge_surfx_1x2v_ser_p1.c | 26 +-- ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 14 +- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 14 +- ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 14 +- ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 62 +++--- ...isionless_flux_em_edge_surfx_1x1v_ser_p1.c | 20 +- ...isionless_flux_em_edge_surfx_1x2v_ser_p1.c | 26 +-- ...isionless_flux_em_edge_surfx_2x2v_ser_p1.c | 62 +++--- ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 110 +++++------ ...isionless_flux_em_edge_surfy_2x2v_ser_p1.c | 86 ++++----- ...isionless_flux_em_edge_surfy_3x2v_ser_p1.c | 110 +++++------ ...isionless_flux_em_edge_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...m_multib_boundary_edge_surfx_1x1v_ser_p1.c | 20 +- ...m_multib_boundary_edge_surfx_1x2v_ser_p1.c | 26 +-- ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 62 +++--- ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 110 +++++------ ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 86 ++++----- ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 110 +++++------ ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...lux_em_multib_boundary_surfx_1x1v_ser_p1.c | 20 +- ...lux_em_multib_boundary_surfx_1x2v_ser_p1.c | 26 +-- ...lux_em_multib_boundary_surfx_2x2v_ser_p1.c | 62 +++--- ...lux_em_multib_boundary_surfx_3x2v_ser_p1.c | 110 +++++------ ...lux_em_multib_boundary_surfy_2x2v_ser_p1.c | 86 ++++----- ...lux_em_multib_boundary_surfy_3x2v_ser_p1.c | 110 +++++------ ...lux_em_multib_boundary_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...ess_flux_em_no_by_edge_surfx_2x2v_ser_p1.c | 14 +- ...ess_flux_em_no_by_edge_surfx_3x2v_ser_p1.c | 14 +- ...ess_flux_em_no_by_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...ess_flux_em_no_by_edge_surfy_3x2v_ser_p1.c | 14 +- ...ess_flux_em_no_by_edge_surfz_3x2v_ser_p1.c | 62 +++--- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 62 +++--- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 38 ++-- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 62 +++--- ...sionless_flux_em_no_by_surfx_2x2v_ser_p1.c | 14 +- ...sionless_flux_em_no_by_surfx_3x2v_ser_p1.c | 14 +- ...sionless_flux_em_no_by_surfy_2x2v_ser_p1.c | 38 ++-- ...sionless_flux_em_no_by_surfy_3x2v_ser_p1.c | 14 +- ...sionless_flux_em_no_by_surfz_3x2v_ser_p1.c | 62 +++--- ...less_flux_em_star_edge_surfx_1x1v_ser_p1.c | 20 +- ...less_flux_em_star_edge_surfx_1x2v_ser_p1.c | 26 +-- ...less_flux_em_star_edge_surfx_2x2v_ser_p1.c | 62 +++--- ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 110 +++++------ ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 86 ++++----- ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 110 +++++------ ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...r_multib_boundary_edge_surfx_1x1v_ser_p1.c | 20 +- ...r_multib_boundary_edge_surfx_1x2v_ser_p1.c | 26 +-- ...r_multib_boundary_edge_surfx_2x2v_ser_p1.c | 62 +++--- ...r_multib_boundary_edge_surfx_3x2v_ser_p1.c | 110 +++++------ ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 86 ++++----- ...r_multib_boundary_edge_surfy_3x2v_ser_p1.c | 110 +++++------ ...r_multib_boundary_edge_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...m_star_multib_boundary_surfx_1x1v_ser_p1.c | 20 +- ...m_star_multib_boundary_surfx_1x2v_ser_p1.c | 26 +-- ...m_star_multib_boundary_surfx_2x2v_ser_p1.c | 62 +++--- ...m_star_multib_boundary_surfx_3x2v_ser_p1.c | 110 +++++------ ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 86 ++++----- ...m_star_multib_boundary_surfy_3x2v_ser_p1.c | 110 +++++------ ...m_star_multib_boundary_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...lux_em_star_no_by_edge_surfx_2x2v_ser_p1.c | 14 +- ...lux_em_star_no_by_edge_surfx_3x2v_ser_p1.c | 14 +- ...lux_em_star_no_by_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...lux_em_star_no_by_edge_surfy_3x2v_ser_p1.c | 14 +- ...lux_em_star_no_by_edge_surfz_3x2v_ser_p1.c | 62 +++--- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 62 +++--- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 38 ++-- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 62 +++--- ...ess_flux_em_star_no_by_surfx_2x2v_ser_p1.c | 14 +- ...ess_flux_em_star_no_by_surfx_3x2v_ser_p1.c | 14 +- ...ess_flux_em_star_no_by_surfy_2x2v_ser_p1.c | 38 ++-- ...ess_flux_em_star_no_by_surfy_3x2v_ser_p1.c | 14 +- ...ess_flux_em_star_no_by_surfz_3x2v_ser_p1.c | 62 +++--- ...onless_flux_em_star_surfvpar_2x2v_ser_p1.c | 16 +- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 96 +++++----- ...isionless_flux_em_star_surfx_1x1v_ser_p1.c | 20 +- ...isionless_flux_em_star_surfx_1x2v_ser_p1.c | 26 +-- ...isionless_flux_em_star_surfx_2x2v_ser_p1.c | 62 +++--- ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 110 +++++------ ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 86 ++++----- ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 110 +++++------ ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 16 +- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 96 +++++----- ..._collisionless_flux_em_surfx_1x1v_ser_p1.c | 20 +- ..._collisionless_flux_em_surfx_1x2v_ser_p1.c | 26 +-- ..._collisionless_flux_em_surfx_2x2v_ser_p1.c | 62 +++--- ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 110 +++++------ ..._collisionless_flux_em_surfy_2x2v_ser_p1.c | 86 ++++----- ..._collisionless_flux_em_surfy_3x2v_ser_p1.c | 110 +++++------ ..._collisionless_flux_em_surfz_3x2v_ser_p1.c | 158 +++++++-------- ...x_multib_boundary_edge_surfx_1x1v_ser_p1.c | 20 +- ...x_multib_boundary_edge_surfx_1x2v_ser_p1.c | 26 +-- ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 14 +- ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 14 +- ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 14 +- ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 62 +++--- ...s_flux_multib_boundary_surfx_1x1v_ser_p1.c | 20 +- ...s_flux_multib_boundary_surfx_1x2v_ser_p1.c | 26 +-- ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 14 +- ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 14 +- ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 38 ++-- ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 14 +- ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 62 +++--- ...onless_flux_no_by_edge_surfx_2x2v_ser_p1.c | 14 +- ...onless_flux_no_by_edge_surfx_3x2v_ser_p1.c | 14 +- ...onless_flux_no_by_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...onless_flux_no_by_edge_surfy_3x2v_ser_p1.c | 14 +- ...onless_flux_no_by_edge_surfz_3x2v_ser_p1.c | 62 +++--- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 38 ++-- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 14 +- ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 62 +++--- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 38 ++-- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 14 +- ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 62 +++--- ...llisionless_flux_no_by_surfx_2x2v_ser_p1.c | 14 +- ...llisionless_flux_no_by_surfx_3x2v_ser_p1.c | 14 +- ...llisionless_flux_no_by_surfy_2x2v_ser_p1.c | 38 ++-- ...llisionless_flux_no_by_surfy_3x2v_ser_p1.c | 14 +- ...llisionless_flux_no_by_surfz_3x2v_ser_p1.c | 62 +++--- .../gk_collisionless_flux_surfx_1x1v_ser_p1.c | 20 +- .../gk_collisionless_flux_surfx_1x2v_ser_p1.c | 26 +-- .../gk_collisionless_flux_surfx_2x2v_ser_p1.c | 14 +- .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 14 +- .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 38 ++-- .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 14 +- .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 62 +++--- 158 files changed, 3979 insertions(+), 3944 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c index f29ff1cb68..dc08ea1376 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x1v_ser_p1.c @@ -22,17 +22,17 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const double rdvpar2 = 2.0/dxv[1]; - const double *b_x = &b_i[0]; - const double *b_y = &b_i[2]; - const double *b_z = &b_i[4]; + const double *b_1 = &b_i[0]; + const double *b_2 = &b_i[2]; + const double *b_3 = &b_i[4]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[2]; - const double *bioverJB_z = &bioverJB[4]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[2]; + const double *bioverJB_3 = &bioverJB[4]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[2]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[2]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[4]; double hamil[6] = {0.}; hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; @@ -47,12 +47,25 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x1v_ser_p1(const double *w, const hamil2[1] = hamil[4]*hamil[4]; double alphax[6] = {0.}; + alphax[0] = ((0.7071067811865475*apar[1]*dualcurlbhatoverB_3[1]*hamil[2]+0.7071067811865475*apar[0]*dualcurlbhatoverB_3[0]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[1] = ((0.7071067811865475*apar[0]*dualcurlbhatoverB_3[1]*hamil[2]+0.7071067811865475*dualcurlbhatoverB_3[0]*apar[1]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[2] = ((1.5811388300841895*apar[1]*dualcurlbhatoverB_3[1]*hamil[4]+1.5811388300841895*apar[0]*dualcurlbhatoverB_3[0]*hamil[4])*rdx2)/(vmap[1]*m_); + alphax[3] = ((1.5811388300841895*apar[0]*dualcurlbhatoverB_3[1]*hamil[4]+1.5811388300841895*dualcurlbhatoverB_3[0]*apar[1]*hamil[4])*rdx2)/(vmap[1]*m_); + out[1] += 0.8660254037844386*(alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); + out[3] += 0.7745966692414834*alphax[3]*fin[5]+0.7745966692414833*alphax[2]*fin[4]+0.8660254037844386*(alphax[1]*fin[3]+fin[1]*alphax[3]+alphax[0]*fin[2]+fin[0]*alphax[2]); + out[5] += 0.8660254037844386*alphax[1]*fin[5]+0.8660254037844387*alphax[0]*fin[4]+0.7745966692414834*(alphax[3]*fin[3]+alphax[2]*fin[2]); double alphavpar[6] = {0.}; + alphavpar[0] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_3[1]*hamil[1])-0.7071067811865475*apar[0]*dualcurlbhatoverB_3[0]*hamil[1])*rdx2)/(vmap[1]*m_); + alphavpar[1] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_3[1]*hamil[1])-0.7071067811865475*dualcurlbhatoverB_3[0]*apar[1]*hamil[1])*rdx2)/(vmap[1]*m_); + out[2] += 0.8660254037844386*(alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[3] += 0.8660254037844386*(alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[4] += 1.9364916731037085*(alphavpar[1]*fin[3]+alphavpar[0]*fin[2]); + out[5] += 1.9364916731037085*(alphavpar[0]*fin[3]+alphavpar[1]*fin[2]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c index 7867f153e4..b4adbc1bb1 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_1x2v_ser_p1.c @@ -23,17 +23,17 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const double rdmu2 = 2.0/dxv[2]; - const double *b_x = &b_i[0]; - const double *b_y = &b_i[2]; - const double *b_z = &b_i[4]; + const double *b_1 = &b_i[0]; + const double *b_2 = &b_i[2]; + const double *b_3 = &b_i[4]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[2]; - const double *bioverJB_z = &bioverJB[4]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[2]; + const double *bioverJB_3 = &bioverJB[4]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[2]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[2]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[4]; double hamil[12] = {0.}; hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; @@ -50,12 +50,34 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_1x2v_ser_p1(const double *w, const hamil2[1] = hamil[8]*hamil[8]; double alphax[12] = {0.}; + alphax[0] = ((0.7071067811865475*apar[1]*dualcurlbhatoverB_3[1]*hamil[2]+0.7071067811865475*apar[0]*dualcurlbhatoverB_3[0]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[1] = ((0.7071067811865475*apar[0]*dualcurlbhatoverB_3[1]*hamil[2]+0.7071067811865475*dualcurlbhatoverB_3[0]*apar[1]*hamil[2])*rdx2)/(vmap[1]*m_); + alphax[2] = ((1.5811388300841895*apar[1]*dualcurlbhatoverB_3[1]*hamil[8]+1.5811388300841895*apar[0]*dualcurlbhatoverB_3[0]*hamil[8])*rdx2)/(vmap[1]*m_); + alphax[4] = ((1.5811388300841895*apar[0]*dualcurlbhatoverB_3[1]*hamil[8]+1.5811388300841895*dualcurlbhatoverB_3[0]*apar[1]*hamil[8])*rdx2)/(vmap[1]*m_); + out[1] += 0.6123724356957944*(alphax[4]*fin[4]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); + out[4] += 0.5477225575051661*(alphax[4]*fin[9]+alphax[2]*fin[8])+0.6123724356957944*(alphax[1]*fin[4]+fin[1]*alphax[4]+alphax[0]*fin[2]+fin[0]*alphax[2]); + out[5] += 0.6123724356957944*(alphax[4]*fin[7]+alphax[2]*fin[6]+alphax[1]*fin[5]+alphax[0]*fin[3]); + out[7] += 0.5477225575051661*(alphax[4]*fin[11]+alphax[2]*fin[10])+0.6123724356957944*(alphax[1]*fin[7]+alphax[0]*fin[6]+alphax[4]*fin[5]+alphax[2]*fin[3]); + out[9] += 0.6123724356957944*(alphax[1]*fin[9]+alphax[0]*fin[8])+0.5477225575051661*(alphax[4]*fin[4]+alphax[2]*fin[2]); + out[11] += 0.6123724356957944*(alphax[1]*fin[11]+alphax[0]*fin[10])+0.5477225575051661*(alphax[4]*fin[7]+alphax[2]*fin[6]); double alphavpar[12] = {0.}; + alphavpar[0] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_3[1]*hamil[1])-0.7071067811865475*apar[0]*dualcurlbhatoverB_3[0]*hamil[1])*rdx2)/(vmap[1]*m_); + alphavpar[1] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_3[1]*hamil[1])-0.7071067811865475*dualcurlbhatoverB_3[0]*apar[1]*hamil[1])*rdx2)/(vmap[1]*m_); + alphavpar[3] = ((-(0.7071067811865475*apar[1]*dualcurlbhatoverB_3[1]*hamil[5])-0.7071067811865475*apar[0]*dualcurlbhatoverB_3[0]*hamil[5])*rdx2)/(vmap[1]*m_); + alphavpar[5] = ((-(0.7071067811865475*apar[0]*dualcurlbhatoverB_3[1]*hamil[5])-0.7071067811865475*dualcurlbhatoverB_3[0]*apar[1]*hamil[5])*rdx2)/(vmap[1]*m_); + out[2] += 0.6123724356957944*(alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); + out[4] += 0.6123724356957944*(alphavpar[3]*fin[5]+fin[3]*alphavpar[5]+alphavpar[0]*fin[1]+fin[0]*alphavpar[1]); + out[6] += 0.6123724356957944*(alphavpar[1]*fin[5]+fin[1]*alphavpar[5]+alphavpar[0]*fin[3]+fin[0]*alphavpar[3]); + out[7] += 0.6123724356957944*(alphavpar[0]*fin[5]+fin[0]*alphavpar[5]+alphavpar[1]*fin[3]+fin[1]*alphavpar[3]); + out[8] += 1.369306393762915*(alphavpar[5]*fin[7]+alphavpar[3]*fin[6]+alphavpar[1]*fin[4]+alphavpar[0]*fin[2]); + out[9] += 1.369306393762915*(alphavpar[3]*fin[7]+alphavpar[5]*fin[6]+alphavpar[0]*fin[4]+alphavpar[1]*fin[2]); + out[10] += 1.369306393762915*(alphavpar[1]*fin[7]+alphavpar[0]*fin[6]+fin[4]*alphavpar[5]+fin[2]*alphavpar[3]); + out[11] += 1.369306393762915*(alphavpar[0]*fin[7]+alphavpar[1]*fin[6]+fin[2]*alphavpar[5]+alphavpar[3]*fin[4]); return 0.; } diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c index 57e728ad3b..ee1caa15a7 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c @@ -24,17 +24,17 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const double rdmu2 = 2.0/dxv[3]; - const double *b_x = &b_i[0]; - const double *b_y = &b_i[4]; - const double *b_z = &b_i[8]; + const double *b_1 = &b_i[0]; + const double *b_2 = &b_i[4]; + const double *b_3 = &b_i[8]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[4]; - const double *bioverJB_z = &bioverJB[8]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[4]; + const double *bioverJB_3 = &bioverJB[8]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[4]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[8]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[8]; double hamil[24] = {0.}; hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); @@ -55,14 +55,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const hamil2[1] = hamil[16]*hamil[16]; double alphax[24] = {0.}; - alphax[0] = ((-(0.6123724356957944*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]-0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[1] = ((-(1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.6123724356957944*apar[2]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]-0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[3]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[2] = ((-(0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[3] = ((-(1.369306393762915*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphax[5] = ((-(0.5511351921262146*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3])-0.5511351921262146*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[2]*hamil[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[2]*hamil[3]*jacobtot_inv[3]-1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]-0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]-0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphax[6] = ((-(2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.369306393762915*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.232375754386623*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]-1.369306393762915*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]-1.232375754386623*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[16]-0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphax[7] = ((-(0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16])-0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphax[11] = ((-(1.232375754386623*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16])-1.232375754386623*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[16]-0.6846531968814573*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[16]-2.4647515087732463*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]-1.369306393762915*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]-0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]-0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]-1.369306393762915*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphax[0] = (((-(0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(1.369306393762915*bioverJB_3[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_3[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_1[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[0]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[3])-0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(1.369306393762915*bioverJB_3[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_3[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_3[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_3[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_3[3]*hamil[16])-1.369306393762915*bioverJB_3[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; out[1] += 0.4330127018922193*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -79,14 +79,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphax[1]*fin[23]+0.43301270189221935*(alphax[0]*fin[22]+alphax[5]*fin[21])+0.4330127018922193*alphax[2]*fin[19]+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); double alphaz[24] = {0.}; - alphaz[0] = ((0.6123724356957944*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[1] = ((0.3061862178478971*apar[0]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[1]*b_y[2]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[3]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[2] = ((1.1022703842524295*apar[3]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.6123724356957944*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[3]+0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[3]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[3]+0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[3]+0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[3] = ((1.369306393762915*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[5] = ((0.5511351921262146*apar[2]*b_y[3]*hamil[3]*jacobtot_inv[3]+0.5511351921262146*b_y[2]*apar[3]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[3]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[3]+0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[3]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[3]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[6] = ((0.6846531968814573*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[16]+0.6846531968814573*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[7] = ((2.4647515087732463*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+1.232375754386623*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[16]+1.369306393762915*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+1.232375754386623*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[16]+1.369306393762915*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[16]+0.6846531968814573*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[11] = ((1.232375754386623*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]+1.232375754386623*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.6846531968814573*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+2.4647515087732463*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[16]+0.6846531968814573*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[16]+0.6846531968814573*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]+1.369306393762915*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[16]+1.369306393762915*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[16]+0.6846531968814573*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[16]+0.6846531968814573*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[0] = (((0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[3]+0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[1] = (((0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[3] = (((1.369306393762915*bioverJB_3[2]*apar[3]*hamil[16]+1.369306393762915*bioverJB_3[0]*apar[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_3[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[0]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[5] = (((0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[3]+0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[6] = (((1.369306393762915*apar[3]*bioverJB_3[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_3[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[1]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[7] = (((1.369306393762915*bioverJB_3[0]*apar[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_3[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[11] = (((1.369306393762915*apar[1]*bioverJB_3[3]*hamil[16]+1.369306393762915*bioverJB_3[1]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[1]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; out[2] += 0.4330127018922193*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -103,14 +103,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphaz[2]*fin[23]+0.43301270189221935*(alphaz[5]*fin[22]+alphaz[0]*fin[21])+0.4330127018922193*alphaz[1]*fin[19]+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); double alphavpar[24] = {0.}; - alphavpar[0] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[5])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[5]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[5]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[5]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[5]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3]-0.6123724356957944*b_y[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*b_y[2]*apar[3]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*jacobtot_inv[2]*apar[3]*b_y[3]-0.6123724356957944*jacobtot_inv[1]*hamil[2]*apar[3]*b_y[3]-0.3061862178478971*apar[0]*hamil[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[0]*apar[2]*hamil[2]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]-0.3061862178478971*b_y[0]*hamil[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*hamil[2]*apar[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[2]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[2]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[2]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[2]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[2]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[1] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[5])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[5]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[5]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[5]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[5]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[5]+1.1022703842524295*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*hamil[2]*b_y[3]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*hamil[2]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[1]*b_y[2]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[1]*apar[2]*hamil[2]*jacobtot_inv[3]+0.6123724356957944*hamil[1]*apar[2]*b_y[2]*jacobtot_inv[3]-0.6123724356957944*jacobtot_inv[0]*hamil[2]*apar[3]*b_y[3]-0.6123724356957944*apar[1]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.6123724356957944*hamil[1]*apar[2]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*jacobtot_inv[1]*apar[2]*hamil[2]*b_y[3]+0.5511351921262146*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]-0.6123724356957944*b_y[1]*hamil[2]*jacobtot_inv[2]*apar[3]+0.6123724356957944*hamil[1]*b_y[2]*jacobtot_inv[2]*apar[3]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*hamil[2]*apar[3]+0.5511351921262146*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[2]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[2]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[2]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[2]+0.3061862178478971*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[2]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[2]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[2] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[5]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[5]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[5]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[5]-1.1022703842524295*hamil[2]*apar[3]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3]-0.5511351921262146*apar[2]*hamil[2]*jacobtot_inv[2]*b_y[3]+0.3061862178478971*apar[1]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.6123724356957944*apar[1]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[0]*hamil[2]*b_y[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3]-0.5511351921262146*b_y[2]*hamil[2]*jacobtot_inv[2]*apar[3]+0.3061862178478971*b_y[1]*hamil[1]*jacobtot_inv[2]*apar[3]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*b_y[2]*apar[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[2]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[2]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[2]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[4] = ((-(0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[12])+0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12]-0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[12]+0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[12]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[12]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[12]-0.6123724356957944*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[9]+0.6123724356957944*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[5] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[5]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[5]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[5]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[5]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[5]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[5]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[5]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[5]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[5]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[5]-0.5511351921262146*apar[2]*hamil[2]*b_y[3]*jacobtot_inv[3]+0.5511351921262146*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]-0.5511351921262146*b_y[2]*hamil[2]*apar[3]*jacobtot_inv[3]+0.5511351921262146*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.3061862178478971*apar[0]*b_y[1]*hamil[2]*jacobtot_inv[3]-0.3061862178478971*b_y[0]*apar[1]*hamil[2]*jacobtot_inv[3]+0.3061862178478971*apar[0]*hamil[1]*b_y[2]*jacobtot_inv[3]+0.3061862178478971*b_y[0]*hamil[1]*apar[2]*jacobtot_inv[3]-1.1022703842524295*hamil[2]*jacobtot_inv[2]*apar[3]*b_y[3]+1.1022703842524295*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3]+0.3061862178478971*apar[0]*hamil[1]*jacobtot_inv[2]*b_y[3]-0.3061862178478971*apar[0]*jacobtot_inv[1]*hamil[2]*b_y[3]-0.6123724356957944*jacobtot_inv[0]*apar[1]*hamil[2]*b_y[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3]+0.3061862178478971*b_y[0]*hamil[1]*jacobtot_inv[2]*apar[3]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*hamil[2]*apar[3]+0.6123724356957944*jacobtot_inv[0]*hamil[1]*b_y[2]*apar[3]-0.6123724356957944*apar[1]*b_y[1]*hamil[2]*jacobtot_inv[2]+0.3061862178478971*apar[1]*hamil[1]*b_y[2]*jacobtot_inv[2]+0.3061862178478971*b_y[1]*hamil[1]*apar[2]*jacobtot_inv[2]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[2]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[2]+0.6123724356957944*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[2])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[8] = ((-(0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12])-0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12]+0.3061862178478971*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[12]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[12]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[12]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[12]-0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[9]-0.3061862178478971*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[9]+1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[8]+0.6123724356957944*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[8]+0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[9] = ((0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12]+1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[2]*hamil[12]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[2]*hamil[12]-1.1022703842524295*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[9]-0.6123724356957944*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[9]-0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[9]-0.6123724356957944*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*apar[1]*b_y[2]*hamil[9]-0.3061862178478971*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[9]+0.3061862178478971*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[1]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[1]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[12] = ((1.1022703842524295*apar[2]*b_y[2]*jacobtot_inv[3]*hamil[12]-1.1022703842524295*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[12]+0.5511351921262146*apar[2]*jacobtot_inv[2]*b_y[3]*hamil[12]-0.5511351921262146*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.5511351921262146*b_y[2]*jacobtot_inv[2]*apar[3]*hamil[12]-0.5511351921262146*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[2]*hamil[12]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[2]*hamil[12]+0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[2]*hamil[12]+0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.5511351921262146*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[9]-0.5511351921262146*b_y[2]*apar[3]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[9]-0.3061862178478971*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[9]-1.1022703842524295*jacobtot_inv[2]*apar[3]*b_y[3]*hamil[9]-0.3061862178478971*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[9]-0.3061862178478971*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[9]-0.6123724356957944*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*b_y[1]*jacobtot_inv[2]*hamil[9]-0.3061862178478971*apar[1]*jacobtot_inv[1]*b_y[2]*hamil[9]-0.3061862178478971*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[9]+0.5511351921262146*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]+0.5511351921262146*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*apar[0]*b_y[2]*jacobtot_inv[3]*hamil[8]+0.3061862178478971*b_y[0]*apar[2]*jacobtot_inv[3]*hamil[8]+1.1022703842524295*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[8]+0.3061862178478971*apar[0]*jacobtot_inv[2]*b_y[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[8]+0.3061862178478971*b_y[0]*jacobtot_inv[2]*apar[3]*hamil[8]+0.6123724356957944*jacobtot_inv[0]*b_y[2]*apar[3]*hamil[8]+0.3061862178478971*apar[1]*b_y[2]*jacobtot_inv[2]*hamil[8]+0.3061862178478971*b_y[1]*apar[2]*jacobtot_inv[2]*hamil[8]+0.6123724356957944*jacobtot_inv[1]*apar[2]*b_y[2]*hamil[8])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[5]-0.6123724356957944*bioverJB_3[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_3[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_3[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_3[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_1[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_1[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[5]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_3[3]+0.6123724356957944*bioverJB_3[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[2]+0.6123724356957944*bioverJB_3[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_3[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_1[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_1[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[5])+0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_3[3]-0.6123724356957944*bioverJB_3[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_3[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_1[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_1[3]-0.3535533905932737*dualcurlbhatoverB_1[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_1[2]-0.3535533905932737*dualcurlbhatoverB_1[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[12]-0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[5])+0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_3[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_3[3]-0.6123724356957944*bioverJB_3[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_3[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_3[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_3[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_1[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_1[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_1[3]-0.3535533905932737*dualcurlbhatoverB_1[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_1[2]-0.3535533905932737*dualcurlbhatoverB_1[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[12]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[9]+0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_3[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[12])+0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_1[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[12])+0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[9]-0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[8]+0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_3[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_3[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_1[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_1[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; out[3] += 0.4330127018922193*(alphavpar[12]*fin[12]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c index 2cbc2e69ad..4dbf7f2db6 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_3x2v_ser_p1.c @@ -25,17 +25,17 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const double rdmu2 = 2.0/dxv[4]; - const double *b_x = &b_i[0]; - const double *b_y = &b_i[8]; - const double *b_z = &b_i[16]; + const double *b_1 = &b_i[0]; + const double *b_2 = &b_i[8]; + const double *b_3 = &b_i[16]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[8]; - const double *bioverJB_z = &bioverJB[16]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[8]; + const double *bioverJB_3 = &bioverJB[16]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[8]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[16]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[8]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[16]; double hamil[48] = {0.}; hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; @@ -60,22 +60,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const hamil2[1] = hamil[32]*hamil[32]; double alphax[48] = {0.}; - alphax[0] = (((-(0.21650635094610965*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]-0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]+0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[1] = (((-(0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5])-0.21650635094610965*apar[3]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_z[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]+0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[2] = ((-(0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]-0.21650635094610965*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[3] = (((-(0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[4] = (((-(0.4841229182759271*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[6] = ((-(0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7])-0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.21650635094610965*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[7] = (((-(0.19485571585149863*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5])-0.19485571585149863*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[3]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]+0.19485571585149863*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[2]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphax[8] = ((-(0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]-0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[9] = (((-(0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.43571062644833425*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]+0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[10] = ((-(0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]-0.4841229182759271*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphax[11] = (((-(0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]+0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[16] = ((-(0.19485571585149863*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]-0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_y[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphax[17] = ((-(0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.4841229182759271*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphax[18] = (((-(0.43571062644833425*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.7842791276070014*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]+0.43571062644833425*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]+0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]+0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphax[19] = ((-(0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphax[26] = ((-(0.43571062644833425*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]-0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]-0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]-0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphax[0] = (((-(0.3061862178478971*bioverJB_2[1]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_2[0]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*bioverJB_3[5]*apar[7]+0.3061862178478971*bioverJB_3[3]*hamil[4]*apar[6]+0.3061862178478971*bioverJB_3[1]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_3[0]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_1[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_1[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_1[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_1[0]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.3061862178478971*bioverJB_2[0]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_2[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_3[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_3[5]*apar[6]+0.3061862178478971*bioverJB_3[0]*apar[4]*hamil[4]+0.3061862178478971*bioverJB_3[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_1[5]+0.1767766952966368*dualcurlbhatoverB_1[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_1[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_1[0]*apar[1]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.3061862178478971*bioverJB_2[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_2[0]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_1[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_1[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_1[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_1[0]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_2[5])-0.3061862178478971*apar[3]*bioverJB_2[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_3[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_3[0]*hamil[4]*apar[6]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_3[5]+0.3061862178478971*apar[2]*bioverJB_3[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_1[5]+0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_1[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_1[0]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[4] = (((-(0.6846531968814573*bioverJB_2[1]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_2[0]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_3[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_3[3]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_3[1]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_3[0]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_1[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_1[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_1[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_1[0]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(0.3061862178478971*bioverJB_2[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_2[1]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_1[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_1[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_1[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_1[1]*apar[2]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(0.3061862178478971*apar[3]*hamil[4]*bioverJB_2[5])-0.3061862178478971*bioverJB_2[3]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_3[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_3[1]*hamil[4]*apar[6]+0.3061862178478971*apar[2]*hamil[4]*bioverJB_3[5]+0.3061862178478971*bioverJB_3[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_1[5]+0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_1[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_1[1]*apar[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[8] = (((-(0.3061862178478971*hamil[4]*bioverJB_2[5]*apar[7])-0.3061862178478971*bioverJB_2[3]*hamil[4]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_1[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_1[3]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[9] = (((-(0.6846531968814573*bioverJB_2[0]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_2[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_3[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_3[5]*apar[6]*hamil[32]+0.6846531968814573*bioverJB_3[0]*apar[4]*hamil[32]+0.6846531968814573*bioverJB_3[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_1[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_1[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[0]*apar[1]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[10] = (((-(0.6846531968814573*bioverJB_2[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_2[0]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_1[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[0]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(0.6846531968814573*apar[5]*bioverJB_2[5]*hamil[32])-0.6846531968814573*apar[3]*bioverJB_2[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_3[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_3[0]*apar[6]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_3[5]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_3[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_1[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_1[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[0]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[16] = (((-(0.3061862178478971*bioverJB_2[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_2[5]*apar[6])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_1[5]+0.1767766952966368*dualcurlbhatoverB_1[3]*apar[4]*hamil[4])*rdx2)/vmap[1])/m_; + alphax[17] = (((-(0.6846531968814573*bioverJB_2[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_2[1]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_1[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[1]*apar[2]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[18] = (((-(0.6846531968814573*apar[3]*bioverJB_2[5]*hamil[32])-0.6846531968814573*bioverJB_2[3]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_3[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_3[1]*apar[6]*hamil[32]+0.6846531968814573*apar[2]*bioverJB_3[5]*hamil[32]+0.6846531968814573*bioverJB_3[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_1[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_1[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[1]*apar[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[19] = (((-(0.6846531968814573*bioverJB_2[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_2[3]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_1[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_1[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_1[3]*hamil[32])*rdx2)/vmap[1])/m_; + alphax[26] = (((-(0.6846531968814573*bioverJB_2[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_2[5]*apar[6]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_1[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_1[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_1[3]*apar[4]*hamil[32])*rdx2)/vmap[1])/m_; out[1] += 0.3061862178478971*(alphax[26]*fin[26]+alphax[19]*fin[19]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[16]*fin[16]+alphax[11]*fin[11]+alphax[10]*fin[10]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -104,22 +104,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphax[1]*fin[47]+alphax[0]*fin[46]+alphax[6]*fin[45]+alphax[7]*fin[44]+alphax[2]*fin[42]+alphax[3]*fin[41]+alphax[16]*fin[40]+alphax[8]*fin[36])+0.273861278752583*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[17]*fin[29]+alphax[18]*fin[28]+fin[23]*alphax[26]+alphax[10]*fin[25]+alphax[11]*fin[24]+fin[15]*alphax[19]); double alphay[48] = {0.}; - alphay[0] = (((0.21650635094610965*apar[3]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*b_x[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[5]+0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[4]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*apar[1]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*b_z[1]*hamil[4]*apar[5]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[4]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[1] = (((0.38971143170299727*hamil[4]*apar[5]*b_x[5]*jacobtot_inv[5]+0.21650635094610965*apar[3]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*apar[3]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[4]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_x[5]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[0]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.10825317547305482*b_z[0]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_z[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[3]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[2] = (((0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]+0.21650635094610965*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.21650635094610965*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.21650635094610965*apar[4]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[3] = (((0.10825317547305482*apar[0]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[1]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[1]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*apar[5]*b_z[5]*jacobtot_inv[5])-0.21650635094610965*apar[1]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_z[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_z[5]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[5]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[5]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[5]-0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[4] = (((0.4841229182759271*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[6] = (((0.38971143170299727*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7]+0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.21650635094610965*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_z[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_z[5]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*hamil[4]*apar[7]-0.10825317547305482*b_z[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[7] = (((0.19485571585149863*apar[1]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[3]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*apar[5]*b_x[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.21650635094610965*jacobtot_inv[0]*apar[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[3]*hamil[4]*b_z[5]*jacobtot_inv[5])-0.19485571585149863*b_z[3]*hamil[4]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_z[1]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*apar[1]*hamil[4]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_z[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_z[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[5]-0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[4]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[8] = (((0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.38971143170299727*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[6]-0.21650635094610965*b_z[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_z[5]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[4]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[9] = (((0.8714212528966685*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.43571062644833425*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.24206145913796356*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[10] = (((0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]+0.4841229182759271*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.4841229182759271*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.4841229182759271*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.24206145913796356*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[11] = (((0.24206145913796356*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[32]-0.4841229182759271*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[32]-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[16] = (((0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]+0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]+0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_z[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_z[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_z[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_z[5]-0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1])/m_; - alphay[17] = (((0.8714212528966685*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.4841229182759271*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]+0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.24206145913796356*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.4841229182759271*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[18] = (((0.43571062644833425*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[32])-0.43571062644833425*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[32]-0.8714212528966685*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[32]-0.24206145913796356*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[32]-0.4841229182759271*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[19] = (((0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.8714212528966685*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[32]-0.4841229182759271*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; - alphay[26] = (((0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]+0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]+0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]+0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]+0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.43571062644833425*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.8714212528966685*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[32]-0.24206145913796356*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[32]-0.43571062644833425*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.4841229182759271*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[32]-0.4841229182759271*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1])/m_; + alphay[0] = (((0.3061862178478971*bioverJB_1[1]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_1[0]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[3]*hamil[4]*apar[5])-0.3061862178478971*bioverJB_3[0]*apar[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_2[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_2[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_2[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_2[0]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[1] = (((0.3061862178478971*bioverJB_1[0]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_1[1]*apar[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*apar[5]*bioverJB_3[5])-0.3061862178478971*apar[1]*bioverJB_3[1]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_2[5]+0.1767766952966368*dualcurlbhatoverB_2[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_2[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_2[0]*apar[1]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[2] = (((0.3061862178478971*bioverJB_1[1]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_1[0]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[3]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_3[0]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_2[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_2[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_2[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_2[0]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[3] = (((0.3061862178478971*hamil[4]*apar[5]*bioverJB_1[5]+0.3061862178478971*apar[3]*bioverJB_1[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[0]*hamil[4]*apar[5])-0.3061862178478971*apar[1]*bioverJB_3[3]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_2[5]+0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_2[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_2[0]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[4] = (((0.6846531968814573*bioverJB_1[1]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_1[0]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_3[3]*apar[5]*hamil[32])-0.6846531968814573*bioverJB_3[0]*apar[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_2[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_2[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_2[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_2[0]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[6] = (((0.3061862178478971*bioverJB_1[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_1[1]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*hamil[4]*bioverJB_3[5]*apar[7])-0.3061862178478971*bioverJB_3[1]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_2[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_2[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_2[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_2[1]*apar[2]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[7] = (((0.3061862178478971*apar[3]*hamil[4]*bioverJB_1[5]+0.3061862178478971*bioverJB_1[3]*hamil[4]*apar[5])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*hamil[4]*bioverJB_3[5])-0.3061862178478971*bioverJB_3[1]*hamil[4]*apar[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_2[5]+0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_2[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_2[1]*apar[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[8] = (((0.3061862178478971*hamil[4]*bioverJB_1[5]*apar[7]+0.3061862178478971*bioverJB_1[3]*hamil[4]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_3[3]*apar[4]*hamil[4])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_2[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_2[3]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[9] = (((0.6846531968814573*bioverJB_1[0]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_1[1]*apar[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[5]*bioverJB_3[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_3[1]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_2[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_2[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[0]*apar[1]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[10] = (((0.6846531968814573*bioverJB_1[1]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_1[0]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_3[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_3[0]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_2[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[0]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[11] = (((0.6846531968814573*apar[5]*bioverJB_1[5]*hamil[32]+0.6846531968814573*apar[3]*bioverJB_1[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_3[0]*apar[5]*hamil[32])-0.6846531968814573*apar[1]*bioverJB_3[3]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_2[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_2[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[0]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[16] = (((0.3061862178478971*bioverJB_1[3]*hamil[4]*apar[7]+0.3061862178478971*hamil[4]*bioverJB_1[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[1]*hamil[4]*apar[7])-0.3061862178478971*apar[4]*hamil[4]*bioverJB_3[5])*rdx2*rdy2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_2[5]+0.1767766952966368*dualcurlbhatoverB_2[3]*apar[4]*hamil[4])*rdy2)/vmap[1])/m_; + alphay[17] = (((0.6846531968814573*bioverJB_1[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_1[1]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_3[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_3[1]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_2[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[1]*apar[2]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[18] = (((0.6846531968814573*apar[3]*bioverJB_1[5]*hamil[32]+0.6846531968814573*bioverJB_1[3]*apar[5]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*apar[1]*bioverJB_3[5]*hamil[32])-0.6846531968814573*bioverJB_3[1]*apar[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_2[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_2[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[1]*apar[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[19] = (((0.6846531968814573*bioverJB_1[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_1[3]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_3[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_3[3]*apar[4]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_2[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_2[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_2[3]*hamil[32])*rdy2)/vmap[1])/m_; + alphay[26] = (((0.6846531968814573*bioverJB_1[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_1[5]*apar[6]*hamil[32])*rdy2*rdz2)/vmap[1]+((-(0.6846531968814573*bioverJB_3[1]*apar[7]*hamil[32])-0.6846531968814573*apar[4]*bioverJB_3[5]*hamil[32])*rdx2*rdy2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_2[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_2[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_2[3]*apar[4]*hamil[32])*rdy2)/vmap[1])/m_; out[2] += 0.3061862178478971*(alphay[26]*fin[26]+alphay[19]*fin[19]+alphay[18]*fin[18]+alphay[17]*fin[17]+alphay[16]*fin[16]+alphay[11]*fin[11]+alphay[10]*fin[10]+alphay[9]*fin[9]+alphay[8]*fin[8]+alphay[7]*fin[7]+alphay[6]*fin[6]+alphay[4]*fin[4]+alphay[3]*fin[3]+alphay[2]*fin[2]+alphay[1]*fin[1]+alphay[0]*fin[0]); @@ -148,22 +148,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphay[2]*fin[47]+alphay[6]*fin[46]+alphay[0]*fin[45]+alphay[8]*fin[44]+alphay[1]*fin[42]+alphay[16]*fin[41]+alphay[3]*fin[40]+alphay[7]*fin[36])+0.273861278752583*(alphay[10]*fin[31]+alphay[17]*fin[30]+alphay[4]*fin[29]+alphay[19]*fin[28]+fin[24]*alphay[26]+alphay[9]*fin[25]+alphay[11]*fin[23]+fin[15]*alphay[18]); double alphaz[48] = {0.}; - alphaz[0] = (((-(0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[7])-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[6]-0.10825317547305482*apar[2]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[3]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[3]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[4]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.21650635094610965*apar[1]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*b_y[1]*hamil[4]*apar[5]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[4]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[1] = (((-(0.19485571585149863*b_x[1]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[1]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*hamil[4]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[4]*apar[6]-0.19485571585149863*apar[4]*hamil[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*b_x[3]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_x[5]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[4]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.10825317547305482*apar[0]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*b_y[3]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[3]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*apar[5]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[5]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[2] = ((0.21650635094610965*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[6]+0.21650635094610965*apar[4]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[4]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[3] = (((-(0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[7])-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[7]-0.19485571585149863*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[6]-0.10825317547305482*b_x[0]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*apar[2]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*hamil[4]*apar[5]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.19485571585149863*apar[3]*jacobtot_inv[3]*hamil[4]*b_y[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[4]*b_y[5]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[5]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[5]+0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[4] = (((-(0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[32])-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[32]-0.24206145913796356*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.4841229182759271*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[6] = ((0.10825317547305482*b_y[0]*hamil[4]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[4]*b_y[5]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*hamil[4]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[4]*apar[7]+0.10825317547305482*b_y[1]*hamil[4]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*apar[2]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[3]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[3]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[4]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[7] = (((-(0.35074028853269745*hamil[4]*b_x[5]*jacobtot_inv[5]*apar[7])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*hamil[4]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[4]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[4]*apar[7]-0.19485571585149863*b_x[3]*hamil[4]*jacobtot_inv[5]*apar[6]-0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[4]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[4]*apar[6]-0.19485571585149863*b_x[1]*apar[4]*hamil[4]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*apar[2]*hamil[4]*jacobtot_inv[5]-0.19485571585149863*jacobtot_inv[1]*apar[4]*hamil[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[4]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[4]-0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*hamil[4]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*b_y[3]*hamil[4]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_y[1]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*apar[1]*hamil[4]*jacobtot_inv[5]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[4]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[5]+0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[4]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[4]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[4])*rdx2*rdz2)/vmap[1])/m_; - alphaz[8] = ((0.38971143170299727*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*hamil[4]*apar[7]+0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[4]*apar[7]+0.19485571585149863*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[6]+0.21650635094610965*b_y[1]*apar[4]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[4]*b_y[5]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[4]+0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[9] = (((-(0.43571062644833425*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[32]-0.43571062644833425*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[32]-0.24206145913796356*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.24206145913796356*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[10] = ((0.4841229182759271*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[32]+0.4841229182759271*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.24206145913796356*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[11] = (((-(0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[32]-0.43571062644833425*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.8714212528966685*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[32]+0.4841229182759271*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[16] = ((0.19485571585149863*b_y[3]*hamil[4]*jacobtot_inv[5]*apar[7]+0.38971143170299727*jacobtot_inv[3]*hamil[4]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[4]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[4]*apar[7]+0.19485571585149863*hamil[4]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[4]*apar[6]+0.10825317547305482*b_y[0]*apar[4]*hamil[4]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*apar[2]*hamil[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*apar[4]*hamil[4]*b_y[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[4]*b_y[5]+0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[4]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[4])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[17] = ((0.24206145913796356*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[18] = (((-(0.7842791276070014*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[32])-0.43571062644833425*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[32]-0.43571062644833425*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[32]-0.43571062644833425*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[32]-0.43571062644833425*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[32]-0.43571062644833425*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[32]-0.24206145913796356*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[32]-0.43571062644833425*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[32]-0.24206145913796356*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[32]-0.24206145913796356*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[32]-0.24206145913796356*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[32]-0.24206145913796356*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.43571062644833425*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[32]+0.43571062644833425*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[32]+0.24206145913796356*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[32]+0.4841229182759271*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[32]+0.24206145913796356*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[32])*rdx2*rdz2)/vmap[1])/m_; - alphaz[19] = ((0.8714212528966685*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[32]+0.43571062644833425*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[32]+0.43571062644833425*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[32]+0.4841229182759271*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); - alphaz[26] = ((0.43571062644833425*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[32]+0.8714212528966685*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[32]+0.24206145913796356*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[32]+0.43571062644833425*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[32]+0.24206145913796356*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[32]+0.24206145913796356*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[32]+0.24206145913796356*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[32]+0.4841229182759271*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[32]+0.4841229182759271*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[32]+0.24206145913796356*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[32])*rdx2*rdz2)/(vmap[1]*m_); + alphaz[0] = (((-(0.3061862178478971*hamil[4]*bioverJB_1[5]*apar[7])-0.3061862178478971*bioverJB_1[3]*hamil[4]*apar[6]-0.3061862178478971*bioverJB_1[1]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_1[0]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_2[3]*hamil[4]*apar[5]+0.3061862178478971*bioverJB_2[0]*apar[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*apar[5]*dualcurlbhatoverB_3[5]+0.1767766952966368*apar[3]*dualcurlbhatoverB_3[3]*hamil[4]+0.1767766952966368*apar[1]*dualcurlbhatoverB_3[1]*hamil[4]+0.1767766952966368*apar[0]*dualcurlbhatoverB_3[0]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[1] = (((-(0.3061862178478971*bioverJB_1[3]*hamil[4]*apar[7])-0.3061862178478971*hamil[4]*bioverJB_1[5]*apar[6]-0.3061862178478971*bioverJB_1[0]*apar[4]*hamil[4]-0.3061862178478971*bioverJB_1[1]*apar[2]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*hamil[4]*apar[5]*bioverJB_2[5]+0.3061862178478971*apar[1]*bioverJB_2[1]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[3]*hamil[4]*dualcurlbhatoverB_3[5]+0.1767766952966368*dualcurlbhatoverB_3[3]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_3[1]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_3[0]*apar[1]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.3061862178478971*bioverJB_2[3]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_2[0]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*hamil[4]*dualcurlbhatoverB_3[5]*apar[7]+0.1767766952966368*dualcurlbhatoverB_3[3]*hamil[4]*apar[6]+0.1767766952966368*dualcurlbhatoverB_3[1]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_3[0]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[3] = (((-(0.3061862178478971*bioverJB_1[1]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_1[0]*hamil[4]*apar[6]-0.3061862178478971*apar[4]*hamil[4]*bioverJB_1[5]-0.3061862178478971*apar[2]*bioverJB_1[3]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_2[0]*hamil[4]*apar[5]+0.3061862178478971*apar[1]*bioverJB_2[3]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[1]*hamil[4]*dualcurlbhatoverB_3[5]+0.1767766952966368*dualcurlbhatoverB_3[1]*hamil[4]*apar[5]+0.1767766952966368*apar[0]*dualcurlbhatoverB_3[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_3[0]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[4] = (((-(0.6846531968814573*bioverJB_1[5]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_1[3]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_1[1]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_1[0]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_2[3]*apar[5]*hamil[32]+0.6846531968814573*bioverJB_2[0]*apar[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[5]*dualcurlbhatoverB_3[5]*hamil[32]+0.3952847075210473*apar[3]*dualcurlbhatoverB_3[3]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_3[1]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_3[0]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[6] = (((0.3061862178478971*hamil[4]*bioverJB_2[5]*apar[7]+0.3061862178478971*bioverJB_2[1]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_3[3]*hamil[4]*apar[7]+0.1767766952966368*hamil[4]*dualcurlbhatoverB_3[5]*apar[6]+0.1767766952966368*dualcurlbhatoverB_3[0]*apar[4]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_3[1]*apar[2]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[7] = (((-(0.3061862178478971*bioverJB_1[0]*hamil[4]*apar[7])-0.3061862178478971*bioverJB_1[1]*hamil[4]*apar[6]-0.3061862178478971*apar[2]*hamil[4]*bioverJB_1[5]-0.3061862178478971*bioverJB_1[3]*apar[4]*hamil[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*hamil[4]*bioverJB_2[5]+0.3061862178478971*bioverJB_2[1]*hamil[4]*apar[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*apar[0]*hamil[4]*dualcurlbhatoverB_3[5]+0.1767766952966368*dualcurlbhatoverB_3[0]*hamil[4]*apar[5]+0.1767766952966368*apar[1]*dualcurlbhatoverB_3[3]*hamil[4]+0.1767766952966368*dualcurlbhatoverB_3[1]*apar[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[8] = (((0.3061862178478971*bioverJB_2[0]*hamil[4]*apar[7]+0.3061862178478971*bioverJB_2[3]*apar[4]*hamil[4])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_3[1]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_3[0]*hamil[4]*apar[6]+0.1767766952966368*apar[4]*hamil[4]*dualcurlbhatoverB_3[5]+0.1767766952966368*apar[2]*dualcurlbhatoverB_3[3]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[9] = (((-(0.6846531968814573*bioverJB_1[3]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_1[5]*apar[6]*hamil[32]-0.6846531968814573*bioverJB_1[0]*apar[4]*hamil[32]-0.6846531968814573*bioverJB_1[1]*apar[2]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[5]*bioverJB_2[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_2[1]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[3]*dualcurlbhatoverB_3[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[3]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_3[1]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[0]*apar[1]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[10] = (((0.6846531968814573*bioverJB_2[3]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_2[0]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_3[5]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[3]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[1]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[0]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[11] = (((-(0.6846531968814573*bioverJB_1[1]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_1[0]*apar[6]*hamil[32]-0.6846531968814573*apar[4]*bioverJB_1[5]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_1[3]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*bioverJB_2[0]*apar[5]*hamil[32]+0.6846531968814573*apar[1]*bioverJB_2[3]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[1]*dualcurlbhatoverB_3[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[1]*apar[5]*hamil[32]+0.3952847075210473*apar[0]*dualcurlbhatoverB_3[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[0]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[16] = (((0.3061862178478971*bioverJB_2[1]*hamil[4]*apar[7]+0.3061862178478971*apar[4]*hamil[4]*bioverJB_2[5])*rdx2*rdz2)/vmap[1]+((0.1767766952966368*dualcurlbhatoverB_3[0]*hamil[4]*apar[7]+0.1767766952966368*dualcurlbhatoverB_3[1]*hamil[4]*apar[6]+0.1767766952966368*apar[2]*hamil[4]*dualcurlbhatoverB_3[5]+0.1767766952966368*dualcurlbhatoverB_3[3]*apar[4]*hamil[4])*rdz2)/vmap[1])/m_; + alphaz[17] = (((0.6846531968814573*bioverJB_2[5]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_2[1]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_3[3]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[5]*apar[6]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[0]*apar[4]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[1]*apar[2]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[18] = (((-(0.6846531968814573*bioverJB_1[0]*apar[7]*hamil[32])-0.6846531968814573*bioverJB_1[1]*apar[6]*hamil[32]-0.6846531968814573*apar[2]*bioverJB_1[5]*hamil[32]-0.6846531968814573*bioverJB_1[3]*apar[4]*hamil[32])*rdy2*rdz2)/vmap[1]+((0.6846531968814573*apar[1]*bioverJB_2[5]*hamil[32]+0.6846531968814573*bioverJB_2[1]*apar[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*apar[0]*dualcurlbhatoverB_3[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[0]*apar[5]*hamil[32]+0.3952847075210473*apar[1]*dualcurlbhatoverB_3[3]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[1]*apar[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[19] = (((0.6846531968814573*bioverJB_2[0]*apar[7]*hamil[32]+0.6846531968814573*bioverJB_2[3]*apar[4]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_3[1]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[0]*apar[6]*hamil[32]+0.3952847075210473*apar[4]*dualcurlbhatoverB_3[5]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_3[3]*hamil[32])*rdz2)/vmap[1])/m_; + alphaz[26] = (((0.6846531968814573*bioverJB_2[1]*apar[7]*hamil[32]+0.6846531968814573*apar[4]*bioverJB_2[5]*hamil[32])*rdx2*rdz2)/vmap[1]+((0.3952847075210473*dualcurlbhatoverB_3[0]*apar[7]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[1]*apar[6]*hamil[32]+0.3952847075210473*apar[2]*dualcurlbhatoverB_3[5]*hamil[32]+0.3952847075210473*dualcurlbhatoverB_3[3]*apar[4]*hamil[32])*rdz2)/vmap[1])/m_; out[3] += 0.3061862178478971*(alphaz[26]*fin[26]+alphaz[19]*fin[19]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[16]*fin[16]+alphaz[11]*fin[11]+alphaz[10]*fin[10]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -192,22 +192,22 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_3x2v_ser_p1(const double *w, const out[47] += 0.3061862178478971*(alphaz[3]*fin[47]+alphaz[7]*fin[46]+alphaz[8]*fin[45]+alphaz[0]*fin[44]+alphaz[16]*fin[42]+alphaz[1]*fin[41]+alphaz[2]*fin[40]+alphaz[6]*fin[36])+0.273861278752583*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[19]*fin[29]+alphaz[4]*fin[28]+fin[25]*alphaz[26]+alphaz[9]*fin[24]+alphaz[10]*fin[23]+fin[15]*alphaz[17]); double alphavpar[48] = {0.}; - alphavpar[0] = (((-(0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[7]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.21650635094610965*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[6]+0.10825317547305482*apar[2]*hamil[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[5]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*b_x[3]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[5]*b_x[5]+0.10825317547305482*hamil[3]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[5]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[5]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[4]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[3]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[3]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[3]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[8]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[6]*apar[7]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[6]-0.21650635094610965*apar[1]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*b_y[3]*apar[5]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*apar[5]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[5]*b_y[5]-0.10825317547305482*apar[0]*hamil[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[3]*hamil[3]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[3]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[3]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[3]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[3]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[3]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[16]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[16]+0.38971143170299727*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.21650635094610965*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[8]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[7]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[7]+0.10825317547305482*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[6]+0.21650635094610965*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[6]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[6]+0.21650635094610965*apar[1]*hamil[2]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[5]*jacobtot_inv[5]+0.21650635094610965*b_z[1]*hamil[2]*apar[5]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[5]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[3]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[4]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[3]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[3]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[2]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[2]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[1] = (((-(0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[16]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[16]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[8]+0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[7]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[7]+0.19485571585149863*b_x[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[7]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[6]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[6]-0.21650635094610965*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[6]-0.38971143170299727*hamil[2]*apar[5]*b_x[5]*jacobtot_inv[5]+0.19485571585149863*hamil[3]*apar[4]*b_x[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*b_x[3]*hamil[3]*jacobtot_inv[5]-0.21650635094610965*hamil[2]*apar[3]*b_x[3]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_x[5]-0.21650635094610965*hamil[2]*apar[3]*jacobtot_inv[3]*b_x[5]-0.19485571585149863*apar[1]*jacobtot_inv[1]*hamil[2]*b_x[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_x[5]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[5]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[5]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[5]+0.10825317547305482*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[4]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[3]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_x[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_x[3]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[3]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[16])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[16]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[8]-0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[7]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[7]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*hamil[6]*apar[7]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[6]*apar[7]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[6]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[6]+0.38971143170299727*hamil[1]*apar[5]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[1]*b_y[3]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[3]*hamil[3]*jacobtot_inv[5]+0.21650635094610965*hamil[1]*apar[3]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[5]*b_y[5]-0.21650635094610965*apar[1]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.21650635094610965*hamil[1]*apar[3]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[3]*hamil[3]*b_y[5]+0.19485571585149863*apar[1]*hamil[1]*jacobtot_inv[1]*b_y[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[1]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[5]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[5]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[5]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[3]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[3]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[1]*b_y[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[1]*b_y[3]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[3]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[16]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[7]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[7]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[5]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[6]-0.19485571585149863*hamil[1]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[2]*b_z[3]*jacobtot_inv[5]-0.10825317547305482*hamil[1]*apar[2]*b_z[3]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*hamil[2]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_z[5]+0.21650635094610965*apar[1]*hamil[2]*jacobtot_inv[3]*b_z[5]-0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*apar[3]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[5]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[5]-0.10825317547305482*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[4]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[4]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[2]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[2]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[2]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[2]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[2] = (((-(0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[16])-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[8]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*hamil[6]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[6]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[7]-0.21650635094610965*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[16])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[16]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[16]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[16]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[7]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[7]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[6]+0.21650635094610965*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[6]-0.10825317547305482*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[6]-0.21650635094610965*hamil[3]*apar[4]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_y[5]-0.10825317547305482*apar[2]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[4]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[4]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[4]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[3]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[16]+0.38971143170299727*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[8]+0.21650635094610965*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[6]+0.21650635094610965*hamil[2]*apar[4]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_z[5]+0.10825317547305482*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[4]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[3] = (((-(0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[16]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[16]-0.38971143170299727*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[8]-0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[8]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[7]-0.19485571585149863*apar[1]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[5]*b_x[5]*hamil[6]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[5]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[1]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[1]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[6]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[6]-0.10825317547305482*apar[0]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[5]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[5]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[1]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[16]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[16]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[16]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[16]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[8]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[7]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[7]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[6]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[6]-0.38971143170299727*hamil[3]*apar[5]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[5]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[5]*jacobtot_inv[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[5]*b_y[5]-0.19485571585149863*apar[3]*hamil[3]*jacobtot_inv[3]*b_y[5]+0.10825317547305482*apar[1]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[3]*b_y[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[5]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[5]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[5]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[5]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[3]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[3]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[16]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[16]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[16]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[16]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[16]+0.38971143170299727*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[8]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[8]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[8]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[7]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[7]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[7]+0.19485571585149863*apar[3]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[3]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[3]*apar[5]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[5]*hamil[6]+0.21650635094610965*apar[1]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_z[3]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[6]+0.38971143170299727*hamil[2]*apar[5]*b_z[5]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[4]*jacobtot_inv[5]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[4]*b_z[5]+0.19485571585149863*hamil[2]*apar[3]*jacobtot_inv[3]*b_z[5]+0.21650635094610965*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[0]*hamil[2]*b_z[5]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[5]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[5]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[5]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[5]-0.10825317547305482*b_z[1]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*b_z[3]*apar[4]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[3]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[3]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[3]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[5] = (((0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[21]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[14]+0.10825317547305482*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[21]-0.21650635094610965*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[14]+0.21650635094610965*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[21]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[12]-0.10825317547305482*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[6] = (((-(0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[16])-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[3]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*hamil[6]*apar[7]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*hamil[6]*apar[7]-0.38971143170299727*hamil[2]*b_x[5]*jacobtot_inv[5]*apar[7]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[2]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.38971143170299727*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[6]-0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[6]-0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[6]-0.21650635094610965*hamil[2]*b_x[3]*jacobtot_inv[5]*apar[6]-0.21650635094610965*hamil[2]*jacobtot_inv[3]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[2]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[2]*apar[6]-0.19485571585149863*jacobtot_inv[1]*hamil[2]*apar[4]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_x[5]-0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_x[3])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[16])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[16]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[16]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[8]-0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[7]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[7]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[7]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[7]+0.38971143170299727*hamil[1]*b_y[5]*jacobtot_inv[5]*apar[7]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*b_y[5]*apar[7]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[7]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[1]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[6]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[6]-0.10825317547305482*b_y[1]*hamil[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*b_y[3]*jacobtot_inv[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[3]*b_y[5]*apar[6]-0.10825317547305482*jacobtot_inv[1]*hamil[3]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[1]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[1]*apar[6]-0.10825317547305482*apar[2]*hamil[3]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[3]*hamil[3]*apar[4]*jacobtot_inv[5]-0.21650635094610965*hamil[3]*jacobtot_inv[3]*apar[4]*b_y[5]+0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_y[5]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_y[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[4]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[4]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[3]+0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[16]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[16]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[16]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[16]+0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[8]+0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[8]+0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_z[5]*apar[7]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[7]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[6]+0.10825317547305482*b_z[1]*hamil[2]*jacobtot_inv[5]*apar[6]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[5]*apar[6]+0.10825317547305482*apar[2]*hamil[2]*b_z[5]*jacobtot_inv[5]+0.10825317547305482*hamil[2]*b_z[3]*apar[4]*jacobtot_inv[5]+0.21650635094610965*hamil[2]*jacobtot_inv[3]*apar[4]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[4]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[4]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[2])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[7] = (((-(0.7014805770653949*apar[3]*b_x[5]*jacobtot_inv[5]*hamil[16])-0.7014805770653949*b_x[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.7014805770653949*jacobtot_inv[3]*apar[5]*b_x[5]*hamil[16]-0.19485571585149863*apar[0]*jacobtot_inv[1]*b_x[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*apar[1]*b_x[5]*hamil[16]-0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[5]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[5]*hamil[16]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[3]*hamil[16]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[3]*hamil[16]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[3]*hamil[16]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.7014805770653949*apar[5]*b_x[5]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*b_x[3]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*apar[3]*jacobtot_inv[3]*b_x[5]*hamil[8]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_x[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_x[5]*hamil[8]-0.38971143170299727*b_x[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_x[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_x[3]*hamil[8]-0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[3]*hamil[8]+0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[7]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[7]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[7]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[7]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[7]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[7]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[7]+0.35074028853269745*hamil[3]*b_x[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*hamil[3]*apar[7]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*hamil[3]*apar[7]-0.19485571585149863*apar[0]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[0]*apar[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*apar[1]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[1]*apar[3]*jacobtot_inv[5]*hamil[6]-0.38971143170299727*jacobtot_inv[0]*apar[5]*b_x[5]*hamil[6]-0.19485571585149863*apar[1]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*apar[3]*b_x[5]*hamil[6]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[5]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*apar[5]*hamil[6]-0.10825317547305482*apar[0]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*apar[3]*jacobtot_inv[3]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*apar[3]*b_x[3]*hamil[6]+0.19485571585149863*b_x[3]*hamil[3]*jacobtot_inv[5]*apar[6]+0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_x[5]*apar[6]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*hamil[3]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*hamil[3]*apar[6]-0.19485571585149863*apar[1]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.19485571585149863*b_x[1]*hamil[2]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_x[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_x[0]*apar[2]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*apar[0]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*b_x[0]*hamil[2]*apar[3]*jacobtot_inv[5]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*apar[5]*b_x[5]+0.19485571585149863*jacobtot_inv[1]*hamil[3]*apar[4]*b_x[5]-0.10825317547305482*apar[0]*hamil[2]*jacobtot_inv[3]*b_x[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_x[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[3]*b_x[5]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[5]+0.10825317547305482*b_x[0]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*hamil[3]*apar[4]+0.10825317547305482*b_x[1]*apar[2]*hamil[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*hamil[2]*b_x[3]*jacobtot_inv[3]-0.10825317547305482*b_x[1]*hamil[2]*apar[3]*jacobtot_inv[3]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[3]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[3]*b_x[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[16]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[16]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[16]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[16]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[16]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[8]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[8]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[8]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[8]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[7]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[7]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[7]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[7]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[7]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[7]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[7]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*hamil[6]*apar[7]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*hamil[6]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*hamil[6]*apar[7]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[6]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.19485571585149863*apar[3]*hamil[3]*b_y[5]*jacobtot_inv[5]+0.19485571585149863*apar[1]*hamil[1]*b_y[5]*jacobtot_inv[5]-0.19485571585149863*b_y[3]*hamil[3]*apar[5]*jacobtot_inv[5]+0.19485571585149863*b_y[1]*hamil[1]*apar[5]*jacobtot_inv[5]-0.10825317547305482*apar[0]*b_y[1]*hamil[3]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*apar[1]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*apar[0]*hamil[1]*b_y[3]*jacobtot_inv[5]+0.10825317547305482*b_y[0]*hamil[1]*apar[3]*jacobtot_inv[5]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*apar[5]*b_y[5]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*apar[5]*b_y[5]+0.10825317547305482*apar[0]*hamil[1]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[3]*b_y[5]-0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[3]*b_y[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*apar[3]*b_y[5]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[5]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[5]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[5]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[5]-0.21650635094610965*apar[1]*b_y[1]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*apar[1]*hamil[1]*b_y[3]*jacobtot_inv[3]+0.10825317547305482*b_y[1]*hamil[1]*apar[3]*jacobtot_inv[3]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[3]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[3]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*apar[3]*b_y[3])*rdx2*rdz2)/vmap[1]+((0.7014805770653949*apar[1]*b_z[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*b_z[1]*apar[5]*jacobtot_inv[5]*hamil[16]+0.7014805770653949*jacobtot_inv[1]*apar[5]*b_z[5]*hamil[16]+0.19485571585149863*apar[0]*jacobtot_inv[3]*b_z[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*apar[3]*b_z[5]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[5]*hamil[16]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[5]*hamil[16]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[3]*hamil[16]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[3]*hamil[16]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[1]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[1]*hamil[16]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[1]*hamil[16]+0.19485571585149863*apar[0]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[0]*apar[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[1]*b_z[3]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[1]*apar[3]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*apar[5]*b_z[5]*hamil[8]+0.38971143170299727*apar[1]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*apar[3]*b_z[5]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[5]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[5]*hamil[8]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[1]*hamil[8]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[1]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*apar[1]*b_z[1]*hamil[8]-0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[7]-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[7]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[7]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[7]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[7]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[7]-0.35074028853269745*hamil[1]*b_z[5]*jacobtot_inv[5]*apar[7]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[3]*apar[7]-0.19485571585149863*b_z[1]*hamil[1]*jacobtot_inv[1]*apar[7]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[1]*apar[7]+0.7014805770653949*apar[5]*b_z[5]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*apar[1]*b_z[1]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_z[5]*hamil[6]+0.38971143170299727*apar[1]*jacobtot_inv[1]*b_z[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_z[5]*hamil[6]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[5]*hamil[6]+0.38971143170299727*b_z[1]*jacobtot_inv[1]*apar[5]*hamil[6]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_z[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_z[0]*apar[1]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_z[3]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[3]*hamil[6]-0.19485571585149863*hamil[1]*b_z[3]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[1]*jacobtot_inv[3]*b_z[5]*apar[6]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[1]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[1]*apar[6]+0.19485571585149863*hamil[2]*apar[3]*b_z[5]*jacobtot_inv[5]+0.19485571585149863*hamil[2]*b_z[3]*apar[5]*jacobtot_inv[5]-0.19485571585149863*b_z[1]*hamil[1]*apar[4]*jacobtot_inv[5]+0.10825317547305482*apar[0]*b_z[1]*hamil[2]*jacobtot_inv[5]+0.10825317547305482*b_z[0]*apar[1]*hamil[2]*jacobtot_inv[5]-0.10825317547305482*b_z[0]*hamil[1]*apar[2]*jacobtot_inv[5]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*apar[5]*b_z[5]-0.19485571585149863*hamil[1]*jacobtot_inv[1]*apar[4]*b_z[5]+0.10825317547305482*apar[0]*jacobtot_inv[1]*hamil[2]*b_z[5]+0.21650635094610965*jacobtot_inv[0]*apar[1]*hamil[2]*b_z[5]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*apar[2]*b_z[5]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[5]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[5]-0.10825317547305482*b_z[0]*hamil[1]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*hamil[1]*b_z[3]*apar[4]+0.21650635094610965*apar[1]*b_z[1]*hamil[2]*jacobtot_inv[3]-0.10825317547305482*b_z[1]*hamil[1]*apar[2]*jacobtot_inv[3]+0.10825317547305482*apar[1]*jacobtot_inv[1]*hamil[2]*b_z[3]-0.10825317547305482*hamil[1]*jacobtot_inv[1]*apar[2]*b_z[3]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[3])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[8] = (((-(0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[16])-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[16]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[16]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[8]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*hamil[6]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*hamil[6]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[7]-0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[6]-0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[6]-0.10825317547305482*apar[2]*hamil[2]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*b_x[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*hamil[2]*jacobtot_inv[3]*apar[4]*b_x[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[3])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[16]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[16]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[16]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[16]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[8]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[8]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[8]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[8]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[7]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[7]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[7]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[7]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[7]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[7]-0.38971143170299727*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[3]*apar[7]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[7]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*hamil[3]*apar[7]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[7]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[6]-0.19485571585149863*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[6]+0.10825317547305482*hamil[1]*apar[2]*b_y[5]*jacobtot_inv[5]-0.21650635094610965*b_y[1]*hamil[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*b_y[3]*apar[4]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*jacobtot_inv[3]*apar[4]*b_y[5]-0.21650635094610965*jacobtot_inv[1]*hamil[3]*apar[4]*b_y[5]-0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[3]*b_y[5]-0.10825317547305482*b_y[0]*hamil[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*hamil[3]*apar[4]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[3]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[3])*rdx2*rdz2)/vmap[1]+((0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[16]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[16]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[16]+0.38971143170299727*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[8]+0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[8]+0.38971143170299727*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[8]+0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[8]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[8]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[8]+0.19485571585149863*jacobtot_inv[3]*b_z[5]*hamil[6]*apar[7]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[6]*apar[7]+0.38971143170299727*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[3]*apar[7]+0.21650635094610965*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[0]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[6]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[6]+0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[6]+0.10825317547305482*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[6]+0.21650635094610965*b_z[1]*hamil[2]*apar[4]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[1]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[0]*apar[2]*hamil[2]*b_z[5]+0.10825317547305482*b_z[0]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[0]*hamil[2]*b_z[3]*apar[4]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[3])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[12] = (((0.19485571585149863*b_x[0]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[21]+0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[2]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[2]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[5]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[6]*hamil[14]+0.19485571585149863*apar[4]*b_x[5]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_x[5]*hamil[14]+0.10825317547305482*b_x[3]*jacobtot_inv[3]*apar[4]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[2]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[21])-0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[1]*hamil[21]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[1]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[1]*hamil[21]-0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[1]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[1]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[1]*hamil[14]+0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[21]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[12]-0.19485571585149863*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[12]-0.10825317547305482*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[13] = ((-(0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[21]-0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[14]-0.21650635094610965*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[14]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[12]+0.21650635094610965*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[14] = (((0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[14]+0.19485571585149863*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[21]+0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[3]*hamil[21]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[3]*hamil[21]-0.38971143170299727*apar[5]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[14]-0.21650635094610965*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[0]*b_y[5]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[1]*b_y[3]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[3]*hamil[14]+0.10825317547305482*apar[0]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[1]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[21])-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[6]*hamil[21]-0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[2]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[7]*hamil[12]-0.19485571585149863*b_z[5]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[6]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[1]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[16] = (((-(0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[16])-0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[16]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[16]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[16]-0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[8]-0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[8]-0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[8]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[8]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[8]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[8]-0.19485571585149863*b_x[0]*jacobtot_inv[5]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[0]*b_x[5]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[3]*hamil[6]*apar[7]-0.38971143170299727*jacobtot_inv[1]*b_x[3]*hamil[6]*apar[7]-0.19485571585149863*b_x[1]*hamil[2]*jacobtot_inv[5]*apar[7]-0.38971143170299727*jacobtot_inv[1]*hamil[2]*b_x[5]*apar[7]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[3]*apar[7]-0.19485571585149863*b_x[1]*jacobtot_inv[5]*apar[6]*hamil[6]-0.38971143170299727*jacobtot_inv[1]*b_x[5]*apar[6]*hamil[6]-0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[6]*hamil[6]-0.21650635094610965*jacobtot_inv[0]*b_x[3]*apar[6]*hamil[6]-0.19485571585149863*apar[2]*b_x[5]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*b_x[3]*apar[4]*jacobtot_inv[5]*hamil[6]-0.19485571585149863*jacobtot_inv[3]*apar[4]*b_x[5]*hamil[6]-0.10825317547305482*apar[2]*b_x[3]*jacobtot_inv[3]*hamil[6]-0.10825317547305482*b_x[0]*hamil[2]*jacobtot_inv[5]*apar[6]-0.21650635094610965*jacobtot_inv[0]*hamil[2]*b_x[5]*apar[6]-0.10825317547305482*b_x[1]*hamil[2]*jacobtot_inv[3]*apar[6]-0.21650635094610965*jacobtot_inv[1]*hamil[2]*b_x[3]*apar[6]-0.19485571585149863*hamil[2]*apar[4]*b_x[5]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*b_x[3]*jacobtot_inv[5]-0.10825317547305482*apar[2]*hamil[2]*jacobtot_inv[3]*b_x[5]-0.10825317547305482*hamil[2]*b_x[3]*jacobtot_inv[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[16]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[16]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[16]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[16]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[16]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[16]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[16]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[16]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[16]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[8]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[8]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[8]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[8]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[8]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[8]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[8]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[8]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[8]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[8]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[7]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[7]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[7]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[7]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[7]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[7]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[7]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[7]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[7]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[7]-0.19485571585149863*b_y[3]*hamil[3]*jacobtot_inv[5]*apar[7]+0.19485571585149863*b_y[1]*hamil[1]*jacobtot_inv[5]*apar[7]-0.38971143170299727*hamil[3]*jacobtot_inv[3]*b_y[5]*apar[7]+0.38971143170299727*hamil[1]*jacobtot_inv[1]*b_y[5]*apar[7]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[3]*apar[7]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*hamil[3]*apar[7]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*hamil[3]*apar[7]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[3]*apar[7]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[6]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[6]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[6]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[6]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[6]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[6]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[6]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[6]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[6]-0.19485571585149863*hamil[3]*b_y[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_y[0]*hamil[1]*jacobtot_inv[5]*apar[6]+0.21650635094610965*jacobtot_inv[0]*hamil[1]*b_y[5]*apar[6]+0.10825317547305482*b_y[1]*hamil[1]*jacobtot_inv[3]*apar[6]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*hamil[3]*apar[6]+0.21650635094610965*hamil[1]*jacobtot_inv[1]*b_y[3]*apar[6]+0.19485571585149863*hamil[1]*apar[4]*b_y[5]*jacobtot_inv[5]-0.10825317547305482*b_y[0]*hamil[3]*apar[4]*jacobtot_inv[5]-0.10825317547305482*b_y[1]*apar[2]*hamil[3]*jacobtot_inv[5]+0.10825317547305482*hamil[1]*apar[2]*b_y[3]*jacobtot_inv[5]-0.21650635094610965*jacobtot_inv[0]*hamil[3]*apar[4]*b_y[5]+0.10825317547305482*hamil[1]*apar[2]*jacobtot_inv[3]*b_y[5]-0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[3]*b_y[5]-0.21650635094610965*b_y[1]*hamil[3]*jacobtot_inv[3]*apar[4]+0.10825317547305482*hamil[1]*b_y[3]*jacobtot_inv[3]*apar[4]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[16]+0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[16]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[16]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[16]+0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[16]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[16]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[16]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[16]+0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[7]*hamil[8]+0.38971143170299727*jacobtot_inv[0]*b_z[5]*apar[7]*hamil[8]+0.38971143170299727*b_z[1]*jacobtot_inv[3]*apar[7]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[7]*hamil[8]+0.19485571585149863*b_z[1]*jacobtot_inv[5]*apar[6]*hamil[8]+0.19485571585149863*jacobtot_inv[1]*b_z[5]*apar[6]*hamil[8]+0.19485571585149863*apar[2]*b_z[5]*jacobtot_inv[5]*hamil[8]+0.19485571585149863*b_z[3]*apar[4]*jacobtot_inv[5]*hamil[8]+0.38971143170299727*jacobtot_inv[3]*apar[4]*b_z[5]*hamil[8]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[4]*hamil[8]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*apar[4]*hamil[8]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*apar[2]*hamil[8]+0.35074028853269745*b_z[5]*jacobtot_inv[5]*hamil[6]*apar[7]+0.19485571585149863*b_z[1]*jacobtot_inv[1]*hamil[6]*apar[7]+0.19485571585149863*hamil[2]*b_z[3]*jacobtot_inv[5]*apar[7]+0.38971143170299727*hamil[2]*jacobtot_inv[3]*b_z[5]*apar[7]+0.10825317547305482*b_z[0]*jacobtot_inv[1]*hamil[2]*apar[7]+0.21650635094610965*jacobtot_inv[0]*b_z[1]*hamil[2]*apar[7]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[6]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[6]+0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[6]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[6]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[6]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[6]+0.19485571585149863*hamil[2]*b_z[5]*jacobtot_inv[5]*apar[6]+0.10825317547305482*b_z[1]*jacobtot_inv[1]*hamil[2]*apar[6]+0.10825317547305482*b_z[0]*hamil[2]*apar[4]*jacobtot_inv[5]+0.10825317547305482*b_z[1]*apar[2]*hamil[2]*jacobtot_inv[5]+0.21650635094610965*jacobtot_inv[0]*hamil[2]*apar[4]*b_z[5]+0.10825317547305482*jacobtot_inv[1]*apar[2]*hamil[2]*b_z[5]+0.21650635094610965*b_z[1]*hamil[2]*jacobtot_inv[3]*apar[4]+0.10825317547305482*jacobtot_inv[1]*hamil[2]*b_z[3]*apar[4])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[20] = ((-(0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[21])+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[21]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[21]-0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[21]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*b_y[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[2]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[4]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[2]*hamil[14]+0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[12]+0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[12]+0.21650635094610965*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[12]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[12]+0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[12]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[21] = (((0.35074028853269745*b_x[3]*jacobtot_inv[5]*apar[7]*hamil[21]+0.35074028853269745*jacobtot_inv[3]*b_x[5]*apar[7]*hamil[21]+0.19485571585149863*b_x[0]*jacobtot_inv[1]*apar[7]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*b_x[1]*apar[7]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[6]*hamil[21]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[6]*hamil[21]+0.19485571585149863*b_x[0]*apar[4]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*b_x[1]*apar[2]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*jacobtot_inv[0]*apar[4]*b_x[5]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*apar[2]*b_x[5]*hamil[21]+0.19485571585149863*b_x[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.19485571585149863*jacobtot_inv[1]*b_x[3]*apar[4]*hamil[21]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[3]*hamil[21]+0.35074028853269745*b_x[5]*jacobtot_inv[5]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[3]*apar[7]*hamil[14]+0.19485571585149863*b_x[1]*jacobtot_inv[1]*apar[7]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[0]*apar[7]*hamil[14]+0.19485571585149863*b_x[3]*jacobtot_inv[5]*apar[6]*hamil[14]+0.19485571585149863*jacobtot_inv[3]*b_x[5]*apar[6]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[1]*apar[6]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[1]*apar[6]*hamil[14]+0.19485571585149863*b_x[1]*apar[4]*jacobtot_inv[5]*hamil[14]+0.10825317547305482*b_x[0]*apar[2]*jacobtot_inv[5]*hamil[14]+0.19485571585149863*jacobtot_inv[1]*apar[4]*b_x[5]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_x[5]*hamil[14]+0.10825317547305482*b_x[0]*jacobtot_inv[3]*apar[4]*hamil[14]+0.10825317547305482*jacobtot_inv[0]*b_x[3]*apar[4]*hamil[14]+0.10825317547305482*b_x[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_x[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.38971143170299727*apar[3]*b_y[3]*jacobtot_inv[5]*hamil[21]-0.38971143170299727*apar[1]*b_y[1]*jacobtot_inv[5]*hamil[21]+0.19485571585149863*apar[3]*jacobtot_inv[3]*b_y[5]*hamil[21]-0.19485571585149863*apar[1]*jacobtot_inv[1]*b_y[5]*hamil[21]+0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[5]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[5]*hamil[21]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[3]*hamil[21]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[3]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[3]*hamil[21]-0.19485571585149863*apar[3]*b_y[5]*jacobtot_inv[5]*hamil[14]-0.19485571585149863*b_y[3]*apar[5]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*apar[0]*b_y[1]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[0]*apar[1]*jacobtot_inv[5]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*apar[5]*b_y[5]*hamil[14]-0.10825317547305482*apar[0]*jacobtot_inv[1]*b_y[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[1]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[5]*hamil[14]-0.21650635094610965*apar[1]*b_y[1]*jacobtot_inv[3]*hamil[14]-0.10825317547305482*apar[1]*jacobtot_inv[1]*b_y[3]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[3]*hamil[14]+0.19485571585149863*apar[1]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.19485571585149863*b_y[1]*apar[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[0]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[0]*apar[3]*jacobtot_inv[5]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*apar[5]*b_y[5]*hamil[12]+0.10825317547305482*apar[0]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*apar[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[5]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[5]*hamil[12]+0.10825317547305482*apar[1]*b_y[3]*jacobtot_inv[3]*hamil[12]+0.10825317547305482*b_y[1]*apar[3]*jacobtot_inv[3]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*apar[3]*b_y[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.35074028853269745*b_z[1]*jacobtot_inv[5]*apar[7]*hamil[21])-0.35074028853269745*jacobtot_inv[1]*b_z[5]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[3]*apar[7]*hamil[21]-0.19485571585149863*b_z[0]*jacobtot_inv[5]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[0]*b_z[5]*apar[6]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[3]*apar[6]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*b_z[3]*apar[6]*hamil[21]-0.35074028853269745*apar[4]*b_z[5]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*b_z[3]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*apar[2]*jacobtot_inv[3]*b_z[5]*hamil[21]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[4]*hamil[21]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[4]*hamil[21]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[2]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[2]*hamil[21]-0.35074028853269745*b_z[5]*jacobtot_inv[5]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[3]*apar[7]*hamil[12]-0.19485571585149863*b_z[1]*jacobtot_inv[1]*apar[7]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[0]*apar[7]*hamil[12]-0.19485571585149863*b_z[3]*jacobtot_inv[5]*apar[6]*hamil[12]-0.19485571585149863*jacobtot_inv[3]*b_z[5]*apar[6]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[1]*apar[6]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[1]*apar[6]*hamil[12]-0.19485571585149863*b_z[1]*apar[4]*jacobtot_inv[5]*hamil[12]-0.10825317547305482*b_z[0]*apar[2]*jacobtot_inv[5]*hamil[12]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_z[5]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_z[5]*hamil[12]-0.10825317547305482*b_z[0]*jacobtot_inv[3]*apar[4]*hamil[12]-0.10825317547305482*jacobtot_inv[0]*b_z[3]*apar[4]*hamil[12]-0.10825317547305482*b_z[1]*apar[2]*jacobtot_inv[3]*hamil[12]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_z[3]*hamil[12])*rdx2*rdy2)/vmap[1])/m_; - alphavpar[22] = ((0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[21]+0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[3]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[6]*hamil[21]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[21]-0.10825317547305482*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[21]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[21]+0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[3]*hamil[21]-0.38971143170299727*b_y[5]*jacobtot_inv[5]*apar[7]*hamil[14]-0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[0]*apar[7]*hamil[14]-0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[1]*apar[6]*hamil[14]-0.21650635094610965*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*apar[2]*b_y[5]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[0]*b_y[3]*apar[4]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[14]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[6]*hamil[12]+0.10825317547305482*apar[2]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*b_y[3]*apar[4]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*jacobtot_inv[3]*apar[4]*b_y[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[3]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); - alphavpar[27] = ((0.19485571585149863*b_y[3]*jacobtot_inv[3]*apar[7]*hamil[21]-0.19485571585149863*b_y[1]*jacobtot_inv[1]*apar[7]*hamil[21]+0.38971143170299727*b_y[3]*jacobtot_inv[5]*apar[6]*hamil[21]+0.19485571585149863*jacobtot_inv[3]*b_y[5]*apar[6]*hamil[21]+0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[6]*hamil[21]-0.38971143170299727*b_y[1]*apar[4]*jacobtot_inv[5]*hamil[21]-0.19485571585149863*jacobtot_inv[1]*apar[4]*b_y[5]*hamil[21]-0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[4]*hamil[21]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[3]*hamil[21]+0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[3]*hamil[21]-0.19485571585149863*b_y[3]*jacobtot_inv[5]*apar[7]*hamil[14]-0.38971143170299727*jacobtot_inv[3]*b_y[5]*apar[7]*hamil[14]-0.10825317547305482*b_y[0]*jacobtot_inv[1]*apar[7]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*b_y[1]*apar[7]*hamil[14]-0.19485571585149863*b_y[5]*jacobtot_inv[5]*apar[6]*hamil[14]-0.10825317547305482*b_y[1]*jacobtot_inv[1]*apar[6]*hamil[14]-0.10825317547305482*b_y[0]*apar[4]*jacobtot_inv[5]*hamil[14]-0.10825317547305482*b_y[1]*apar[2]*jacobtot_inv[5]*hamil[14]-0.21650635094610965*jacobtot_inv[0]*apar[4]*b_y[5]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*apar[2]*b_y[5]*hamil[14]-0.21650635094610965*b_y[1]*jacobtot_inv[3]*apar[4]*hamil[14]-0.10825317547305482*jacobtot_inv[1]*b_y[3]*apar[4]*hamil[14]+0.19485571585149863*b_y[1]*jacobtot_inv[5]*apar[7]*hamil[12]+0.38971143170299727*jacobtot_inv[1]*b_y[5]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[3]*apar[7]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[3]*apar[7]*hamil[12]+0.10825317547305482*b_y[0]*jacobtot_inv[5]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[0]*b_y[5]*apar[6]*hamil[12]+0.10825317547305482*b_y[1]*jacobtot_inv[3]*apar[6]*hamil[12]+0.21650635094610965*jacobtot_inv[1]*b_y[3]*apar[6]*hamil[12]+0.19485571585149863*apar[4]*b_y[5]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*b_y[3]*jacobtot_inv[5]*hamil[12]+0.10825317547305482*apar[2]*jacobtot_inv[3]*b_y[5]*hamil[12]+0.10825317547305482*b_y[3]*jacobtot_inv[3]*apar[4]*hamil[12])*rdx2*rdz2)/(vmap[1]*m_); + alphavpar[0] = (((-(0.3061862178478971*apar[3]*bioverJB_1[5]*hamil[16])-0.3061862178478971*bioverJB_1[3]*apar[5]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_1[5]*hamil[8]-0.3061862178478971*apar[3]*bioverJB_1[3]*hamil[8]+0.3061862178478971*bioverJB_1[3]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_1[5]*apar[6]*hamil[7]+0.3061862178478971*bioverJB_1[0]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_1[1]*apar[2]*hamil[7]+0.3061862178478971*hamil[3]*bioverJB_1[5]*apar[7]-0.3061862178478971*bioverJB_1[0]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_1[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_1[3]*hamil[3]*apar[6]-0.3061862178478971*bioverJB_1[1]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_1[1]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_1[0]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_1[0]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_2[3]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_2[1]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_2[3]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_2[0]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_2[3]*hamil[7]-0.3061862178478971*apar[1]*bioverJB_2[1]*hamil[7]+0.3061862178478971*bioverJB_2[1]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_2[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_2[3]*hamil[3]*apar[5]+0.3061862178478971*bioverJB_2[1]*hamil[1]*apar[5]-0.3061862178478971*bioverJB_2[0]*apar[1]*hamil[3]+0.3061862178478971*bioverJB_2[0]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_3[3]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_3[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[5]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[2]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[1]*hamil[7]-0.1767766952966368*hamil[3]*apar[5]*dualcurlbhatoverB_3[5]-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[3]*hamil[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[1]*hamil[3]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[0]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*apar[1]*bioverJB_3[5]*hamil[16]+0.3061862178478971*bioverJB_3[1]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_3[0]*apar[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_3[3]*hamil[8]-0.3061862178478971*bioverJB_3[1]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_3[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_3[5]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_3[3]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_3[5]*apar[7]+0.3061862178478971*apar[5]*bioverJB_3[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_3[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_3[3]*apar[6]+0.3061862178478971*hamil[2]*bioverJB_3[3]*apar[5]-0.3061862178478971*bioverJB_3[1]*hamil[1]*apar[4]+0.3061862178478971*bioverJB_3[0]*apar[1]*hamil[2]-0.3061862178478971*bioverJB_3[0]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_2[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_2[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_2[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[3]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_2[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[2]*apar[5]*dualcurlbhatoverB_2[5]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_2[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_2[1]*hamil[2]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[0]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_1[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[6]*hamil[16]-0.1767766952966368*apar[4]*dualcurlbhatoverB_1[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[5]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[5]*dualcurlbhatoverB_1[5]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_1[3]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[1]*hamil[1]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((-(0.5511351921262146*apar[5]*bioverJB_1[5]*hamil[16])-0.3061862178478971*apar[3]*bioverJB_1[3]*hamil[16]-0.3061862178478971*apar[3]*bioverJB_1[5]*hamil[8]-0.3061862178478971*bioverJB_1[3]*apar[5]*hamil[8]+0.5511351921262146*bioverJB_1[5]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_1[3]*apar[6]*hamil[7]+0.5511351921262146*bioverJB_1[1]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_1[0]*apar[2]*hamil[7]+0.3061862178478971*bioverJB_1[3]*hamil[3]*apar[7]-0.5511351921262146*bioverJB_1[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_1[0]*apar[3]*hamil[6]+0.3061862178478971*hamil[3]*bioverJB_1[5]*apar[6]-0.3061862178478971*bioverJB_1[0]*hamil[2]*apar[5]+0.3061862178478971*bioverJB_1[0]*hamil[3]*apar[4]+0.3061862178478971*bioverJB_1[1]*apar[2]*hamil[3]-0.3061862178478971*bioverJB_1[1]*hamil[2]*apar[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_2[5]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_2[0]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_2[5]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_2[1]*apar[4]*hamil[8]+0.3061862178478971*apar[3]*bioverJB_2[5]*hamil[7]-0.3061862178478971*bioverJB_2[0]*apar[1]*hamil[7]+0.3061862178478971*bioverJB_2[0]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_2[1]*apar[6]*hamil[6]-0.3061862178478971*hamil[3]*apar[5]*bioverJB_2[5]+0.3061862178478971*bioverJB_2[0]*hamil[1]*apar[5]-0.3061862178478971*apar[1]*bioverJB_2[1]*hamil[3]+0.3061862178478971*bioverJB_2[1]*hamil[1]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_3[5]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_3[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[2]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[2]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_3[5]*hamil[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[3]*hamil[7]-0.31819805153394626*apar[1]*dualcurlbhatoverB_3[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[0]*hamil[7]-0.1767766952966368*apar[3]*hamil[3]*dualcurlbhatoverB_3[5]-0.1767766952966368*dualcurlbhatoverB_3[3]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[1]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[1]*hamil[3])*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_3[0]*apar[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_3[3]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_3[5]*hamil[8]+0.3061862178478971*bioverJB_3[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_3[0]*apar[7]*hamil[7]-0.3061862178478971*bioverJB_3[1]*apar[6]*hamil[7]-0.3061862178478971*apar[2]*bioverJB_3[5]*hamil[7]-0.3061862178478971*bioverJB_3[3]*apar[4]*hamil[7]-0.3061862178478971*hamil[1]*bioverJB_3[3]*apar[7]+0.3061862178478971*bioverJB_3[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_3[0]*apar[1]*hamil[6]-0.3061862178478971*hamil[1]*bioverJB_3[5]*apar[6]+0.3061862178478971*hamil[2]*apar[5]*bioverJB_3[5]-0.3061862178478971*bioverJB_3[0]*hamil[1]*apar[4]+0.3061862178478971*apar[1]*bioverJB_3[1]*hamil[2]-0.3061862178478971*bioverJB_3[1]*hamil[1]*apar[2])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_2[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_2[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_2[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[3]*hamil[8]-0.31819805153394626*apar[5]*dualcurlbhatoverB_2[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_2[3]*hamil[6]-0.31819805153394626*apar[1]*dualcurlbhatoverB_2[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[0]*hamil[6]-0.1767766952966368*hamil[2]*apar[3]*dualcurlbhatoverB_2[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_2[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[1]*hamil[2]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[1]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_1[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[4]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[3]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_1[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[1]*apar[3]*dualcurlbhatoverB_1[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_1[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[1]*hamil[1]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((0.3061862178478971*bioverJB_1[0]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_1[1]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_1[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_1[0]*apar[2]*hamil[8]-0.3061862178478971*bioverJB_1[0]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_1[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_1[1]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_1[0]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_2[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_2[1]*hamil[16]-0.3061862178478971*bioverJB_2[3]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_2[0]*apar[1]*hamil[8]+0.3061862178478971*bioverJB_2[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_2[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_2[3]*hamil[3]*apar[7]+0.3061862178478971*bioverJB_2[1]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_2[1]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_2[0]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_2[0]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_2[0]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_3[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[1]*hamil[16]-0.1767766952966368*apar[5]*dualcurlbhatoverB_3[5]*hamil[8]-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[0]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[2]*hamil[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_3[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_3[3]*hamil[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_3[1]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[0]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_3[3]*hamil[16]+0.3061862178478971*bioverJB_3[0]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_3[3]*apar[4]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_3[3]*apar[7]-0.3061862178478971*bioverJB_3[3]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_3[0]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_3[0]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_2[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_2[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_2[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_2[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[3]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_2[5]*apar[7]-0.1767766952966368*dualcurlbhatoverB_2[5]*apar[6]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_2[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_1[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[6]*hamil[7]-0.1767766952966368*apar[4]*dualcurlbhatoverB_1[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[3]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_1[5]*apar[7]-0.1767766952966368*apar[5]*dualcurlbhatoverB_1[5]*hamil[6]-0.1767766952966368*apar[3]*dualcurlbhatoverB_1[3]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[1]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[0]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_1[3]*apar[6]-0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[3] = (((-(0.3061862178478971*bioverJB_1[0]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_1[1]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_1[1]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_1[0]*apar[3]*hamil[8]+0.3061862178478971*bioverJB_1[0]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_1[1]*apar[6]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_1[5]*hamil[7]+0.3061862178478971*bioverJB_1[3]*apar[4]*hamil[7]+0.3061862178478971*bioverJB_1[1]*hamil[3]*apar[7]-0.3061862178478971*apar[3]*bioverJB_1[5]*hamil[6]-0.3061862178478971*bioverJB_1[3]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_1[0]*hamil[3]*apar[6]-0.3061862178478971*hamil[2]*apar[5]*bioverJB_1[5]+0.3061862178478971*hamil[3]*apar[4]*bioverJB_1[5]+0.3061862178478971*apar[2]*bioverJB_1[3]*hamil[3]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_1[3])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_2[0]*apar[6]*hamil[16]-0.3061862178478971*apar[4]*bioverJB_2[5]*hamil[16]-0.3061862178478971*bioverJB_2[0]*apar[7]*hamil[8]-0.3061862178478971*bioverJB_2[3]*apar[4]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_2[5]*hamil[7]+0.3061862178478971*bioverJB_2[0]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_2[5]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_2[3]*apar[6]*hamil[6]+0.3061862178478971*hamil[1]*apar[5]*bioverJB_2[5]-0.3061862178478971*bioverJB_2[0]*hamil[3]*apar[5]-0.3061862178478971*apar[1]*bioverJB_2[3]*hamil[3]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_2[3])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_3[0]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[6]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[5]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[6]*hamil[8]-0.1767766952966368*apar[4]*dualcurlbhatoverB_3[5]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[3]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[5]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[3]*hamil[7]-0.1767766952966368*apar[1]*hamil[3]*dualcurlbhatoverB_3[5]-0.1767766952966368*dualcurlbhatoverB_3[1]*hamil[3]*apar[5]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*apar[5]*bioverJB_3[5]*hamil[16]+0.3061862178478971*apar[1]*bioverJB_3[1]*hamil[16]+0.5511351921262146*bioverJB_3[3]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_3[0]*apar[1]*hamil[8]-0.5511351921262146*bioverJB_3[5]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_3[3]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_3[1]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_3[0]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_3[1]*hamil[1]*apar[7]+0.3061862178478971*apar[1]*bioverJB_3[5]*hamil[6]+0.3061862178478971*bioverJB_3[1]*apar[5]*hamil[6]-0.3061862178478971*bioverJB_3[0]*hamil[1]*apar[6]-0.3061862178478971*hamil[1]*apar[4]*bioverJB_3[5]+0.3061862178478971*bioverJB_3[0]*hamil[2]*apar[5]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_3[3]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_3[3])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_2[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_2[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[1]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_2[5]*hamil[8]-0.31819805153394626*apar[3]*dualcurlbhatoverB_2[3]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_2[1]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[0]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_2[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_2[5]-0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[2]*apar[5]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_2[3]-0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_1[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_1[3]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[2]*hamil[16]-0.31819805153394626*apar[5]*dualcurlbhatoverB_1[5]*hamil[7]-0.31819805153394626*apar[3]*dualcurlbhatoverB_1[3]*hamil[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[1]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[0]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[6]*hamil[6]-0.1767766952966368*apar[4]*dualcurlbhatoverB_1[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[3]*hamil[6]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_1[5]-0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[1]*apar[5]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_1[3]-0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((0.3061862178478971*bioverJB_1[3]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_1[5]*apar[6]*hamil[21]+0.3061862178478971*bioverJB_1[0]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_1[1]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_1[5]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_1[3]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_1[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_1[0]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_2[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_2[1]*hamil[21]-0.3061862178478971*bioverJB_2[3]*apar[5]*hamil[14]-0.3061862178478971*bioverJB_2[0]*apar[1]*hamil[14]+0.3061862178478971*bioverJB_2[1]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_2[0]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[3]*dualcurlbhatoverB_3[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[1]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_3[5]*hamil[14]-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[3]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[1]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[0]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[1]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_3[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_3[5]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_3[3]*hamil[21]-0.3061862178478971*bioverJB_3[5]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_3[3]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_3[1]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_3[0]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[1]*dualcurlbhatoverB_1[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[3]*hamil[21]-0.1767766952966368*apar[5]*dualcurlbhatoverB_1[5]*hamil[12]-0.1767766952966368*apar[3]*dualcurlbhatoverB_1[3]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[1]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[0]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[6] = (((0.5511351921262146*bioverJB_1[1]*apar[4]*hamil[16]+0.3061862178478971*bioverJB_1[0]*apar[2]*hamil[16]+0.3061862178478971*bioverJB_1[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_1[1]*apar[2]*hamil[8]-0.5511351921262146*bioverJB_1[1]*hamil[6]*apar[7]-0.3061862178478971*bioverJB_1[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_1[0]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_1[1]*hamil[2]*apar[6])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_2[5]*hamil[16]-0.3061862178478971*bioverJB_2[0]*apar[1]*hamil[16]-0.3061862178478971*apar[5]*bioverJB_2[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_2[1]*hamil[8]+0.3061862178478971*bioverJB_2[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_2[0]*apar[4]*hamil[7]-0.3061862178478971*hamil[3]*bioverJB_2[5]*apar[7]+0.3061862178478971*bioverJB_2[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_2[0]*apar[5]*hamil[6]+0.3061862178478971*bioverJB_2[1]*apar[3]*hamil[6]+0.3061862178478971*bioverJB_2[1]*hamil[1]*apar[6]-0.3061862178478971*bioverJB_2[1]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_3[5]*hamil[16])-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_3[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[0]*hamil[16]-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[1]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_3[5]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[6]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_3[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[3]*hamil[3]*apar[7]-0.1767766952966368*hamil[3]*dualcurlbhatoverB_3[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_3[0]*hamil[3]*apar[4]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[2]*hamil[3])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[1]*apar[6]*hamil[16])-0.3061862178478971*apar[2]*bioverJB_3[5]*hamil[16]+0.3061862178478971*bioverJB_3[1]*apar[7]*hamil[8]+0.3061862178478971*apar[4]*bioverJB_3[5]*hamil[8]+0.3061862178478971*hamil[2]*bioverJB_3[5]*apar[7]-0.3061862178478971*bioverJB_3[5]*apar[6]*hamil[6]-0.3061862178478971*bioverJB_3[1]*apar[2]*hamil[6]+0.3061862178478971*bioverJB_3[1]*hamil[2]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_2[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_2[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_2[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_2[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[3]*apar[4]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_2[5]*hamil[6]*apar[7]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_2[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_2[3]*apar[6]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_2[1]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[2]*hamil[6]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_2[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[2]*apar[4]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[2]*hamil[2])*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_1[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[4]*hamil[7]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_1[3]*apar[7]-0.1767766952966368*apar[3]*dualcurlbhatoverB_1[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[1]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[1]*hamil[6]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_1[5]*apar[6]-0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[1]*apar[4]-0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[7] = (((-(0.5511351921262146*bioverJB_1[1]*apar[5]*hamil[16])-0.3061862178478971*bioverJB_1[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_1[0]*apar[5]*hamil[8]-0.3061862178478971*bioverJB_1[1]*apar[3]*hamil[8]+0.5511351921262146*bioverJB_1[1]*apar[7]*hamil[7]+0.3061862178478971*bioverJB_1[0]*apar[6]*hamil[7]+0.5511351921262146*apar[4]*bioverJB_1[5]*hamil[7]+0.3061862178478971*apar[2]*bioverJB_1[3]*hamil[7]+0.3061862178478971*bioverJB_1[0]*hamil[3]*apar[7]-0.5511351921262146*apar[5]*bioverJB_1[5]*hamil[6]-0.3061862178478971*apar[3]*bioverJB_1[3]*hamil[6]+0.3061862178478971*bioverJB_1[1]*hamil[3]*apar[6]+0.3061862178478971*apar[2]*hamil[3]*bioverJB_1[5]-0.3061862178478971*hamil[2]*apar[3]*bioverJB_1[5]-0.3061862178478971*hamil[2]*bioverJB_1[3]*apar[5]+0.3061862178478971*bioverJB_1[3]*hamil[3]*apar[4])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*bioverJB_2[1]*apar[6]*hamil[16]-0.3061862178478971*bioverJB_2[3]*apar[4]*hamil[16]-0.3061862178478971*bioverJB_2[1]*apar[7]*hamil[8]-0.3061862178478971*apar[4]*bioverJB_2[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_2[3]*hamil[7]+0.3061862178478971*bioverJB_2[1]*apar[3]*hamil[7]+0.3061862178478971*bioverJB_2[3]*hamil[6]*apar[7]+0.3061862178478971*bioverJB_2[5]*apar[6]*hamil[6]-0.3061862178478971*apar[1]*hamil[3]*bioverJB_2[5]+0.3061862178478971*hamil[1]*apar[3]*bioverJB_2[5]-0.3061862178478971*bioverJB_2[1]*hamil[3]*apar[5]+0.3061862178478971*hamil[1]*bioverJB_2[3]*apar[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_3[1]*apar[7]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[6]*hamil[16]-0.31819805153394626*apar[4]*dualcurlbhatoverB_3[5]*hamil[16]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[7]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[6]*hamil[8]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[4]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_3[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_3[1]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[3]*hamil[7]-0.1767766952966368*apar[0]*hamil[3]*dualcurlbhatoverB_3[5]-0.1767766952966368*dualcurlbhatoverB_3[0]*hamil[3]*apar[5]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[3]*hamil[3]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[3]*hamil[3])*rdz2)/vmap[1]+((0.5511351921262146*bioverJB_3[3]*apar[5]*hamil[16]+0.3061862178478971*bioverJB_3[0]*apar[1]*hamil[16]+0.5511351921262146*apar[5]*bioverJB_3[5]*hamil[8]+0.3061862178478971*apar[1]*bioverJB_3[1]*hamil[8]-0.5511351921262146*bioverJB_3[3]*apar[7]*hamil[7]-0.5511351921262146*bioverJB_3[5]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_3[0]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_3[1]*apar[2]*hamil[7]-0.3061862178478971*bioverJB_3[0]*hamil[1]*apar[7]+0.3061862178478971*bioverJB_3[0]*apar[5]*hamil[6]+0.3061862178478971*apar[1]*bioverJB_3[3]*hamil[6]-0.3061862178478971*bioverJB_3[1]*hamil[1]*apar[6]+0.3061862178478971*apar[1]*hamil[2]*bioverJB_3[5]-0.3061862178478971*hamil[1]*apar[2]*bioverJB_3[5]+0.3061862178478971*bioverJB_3[1]*hamil[2]*apar[5]-0.3061862178478971*hamil[1]*bioverJB_3[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*apar[5]*dualcurlbhatoverB_2[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_2[3]*hamil[16]-0.31819805153394626*apar[1]*dualcurlbhatoverB_2[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[0]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_2[5]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_2[3]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[1]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[1]*hamil[8]-0.31819805153394626*apar[1]*dualcurlbhatoverB_2[5]*hamil[6]-0.31819805153394626*dualcurlbhatoverB_2[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_2[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[3]*hamil[6]-0.1767766952966368*apar[0]*hamil[2]*dualcurlbhatoverB_2[5]-0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[2]*apar[5]-0.1767766952966368*apar[1]*hamil[2]*dualcurlbhatoverB_2[3]-0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[2]*apar[3])*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_1[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_1[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[2]*hamil[16]-0.31819805153394626*apar[3]*dualcurlbhatoverB_1[5]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_1[3]*apar[5]*hamil[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[1]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[4]*hamil[6]-0.1767766952966368*apar[0]*hamil[1]*dualcurlbhatoverB_1[5]-0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[1]*apar[5]-0.1767766952966368*apar[1]*hamil[1]*dualcurlbhatoverB_1[3]-0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[1]*apar[3])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.3061862178478971*apar[2]*bioverJB_1[5]*hamil[16]+0.3061862178478971*bioverJB_1[3]*apar[4]*hamil[16]+0.3061862178478971*apar[4]*bioverJB_1[5]*hamil[8]+0.3061862178478971*apar[2]*bioverJB_1[3]*hamil[8]-0.3061862178478971*bioverJB_1[3]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_1[5]*apar[7]-0.3061862178478971*bioverJB_1[5]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_1[3]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_2[5]*hamil[16])+0.3061862178478971*bioverJB_2[0]*apar[3]*hamil[16]-0.3061862178478971*bioverJB_2[0]*apar[5]*hamil[8]-0.3061862178478971*apar[1]*bioverJB_2[3]*hamil[8]+0.3061862178478971*bioverJB_2[0]*apar[6]*hamil[7]-0.3061862178478971*apar[4]*bioverJB_2[5]*hamil[7]+0.3061862178478971*hamil[1]*bioverJB_2[5]*apar[7]-0.3061862178478971*bioverJB_2[0]*hamil[3]*apar[7]+0.3061862178478971*apar[5]*bioverJB_2[5]*hamil[6]+0.3061862178478971*apar[3]*bioverJB_2[3]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_2[3]*apar[6]-0.3061862178478971*bioverJB_2[3]*hamil[3]*apar[4])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_3[5]*hamil[16])-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[5]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[5]*hamil[8]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[6]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[5]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[1]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*hamil[3]*apar[6]-0.1767766952966368*hamil[3]*apar[4]*dualcurlbhatoverB_3[5]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[3]*hamil[3])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_3[3]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_3[0]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_3[3]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_3[0]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_3[0]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_3[0]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_3[3]*hamil[6]+0.3061862178478971*hamil[2]*bioverJB_3[3]*apar[4])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_2[3]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_2[5]*apar[6]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_2[5]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_2[3]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[2]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[6]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_2[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[3]*apar[4]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[2]*apar[6]-0.1767766952966368*hamil[2]*apar[4]*dualcurlbhatoverB_2[5]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_2[3])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_1[5]*hamil[16])-0.31819805153394626*apar[3]*dualcurlbhatoverB_1[3]*hamil[16]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[1]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[0]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_1[5]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_1[3]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[1]*apar[7]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[5]*hamil[6]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[4]*dualcurlbhatoverB_1[5]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_1[3])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((0.5511351921262146*bioverJB_1[5]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_1[3]*apar[6]*hamil[21]+0.5511351921262146*bioverJB_1[1]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_1[0]*apar[2]*hamil[21]+0.3061862178478971*bioverJB_1[3]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_1[5]*apar[6]*hamil[14]+0.3061862178478971*bioverJB_1[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_1[1]*apar[2]*hamil[14])*rdy2*rdz2)/vmap[1]+((0.3061862178478971*apar[3]*bioverJB_2[5]*hamil[21]-0.3061862178478971*bioverJB_2[0]*apar[1]*hamil[21]-0.3061862178478971*apar[5]*bioverJB_2[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_2[1]*hamil[14]+0.3061862178478971*bioverJB_2[0]*apar[5]*hamil[12]+0.3061862178478971*bioverJB_2[1]*apar[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_3[5]*hamil[21])-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[3]*hamil[21]-0.31819805153394626*apar[1]*dualcurlbhatoverB_3[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[0]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_3[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[1]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[1]*hamil[14])*rdz2)/vmap[1]+((-(0.3061862178478971*bioverJB_3[0]*apar[7]*hamil[21])-0.3061862178478971*bioverJB_3[1]*apar[6]*hamil[21]-0.3061862178478971*apar[2]*bioverJB_3[5]*hamil[21]-0.3061862178478971*bioverJB_3[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_3[3]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_3[5]*apar[6]*hamil[12]-0.3061862178478971*bioverJB_3[0]*apar[4]*hamil[12]-0.3061862178478971*bioverJB_3[1]*apar[2]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_1[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[3]*hamil[21]-0.1767766952966368*apar[3]*dualcurlbhatoverB_1[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[1]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[1]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[13] = (((0.3061862178478971*bioverJB_2[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_2[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_2[3]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_2[0]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_2[1]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_2[0]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_3[3]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_3[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[5]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_1[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[6]*hamil[21]-0.1767766952966368*apar[4]*dualcurlbhatoverB_1[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[5]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[14] = (((0.3061862178478971*bioverJB_1[0]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_1[1]*apar[6]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_1[5]*hamil[21]+0.3061862178478971*bioverJB_1[3]*apar[4]*hamil[21]+0.3061862178478971*bioverJB_1[1]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_1[0]*apar[6]*hamil[14]+0.3061862178478971*apar[4]*bioverJB_1[5]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_1[3]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_2[5]*hamil[21])+0.3061862178478971*bioverJB_2[0]*apar[3]*hamil[21]-0.3061862178478971*bioverJB_2[0]*apar[5]*hamil[14]-0.3061862178478971*apar[1]*bioverJB_2[3]*hamil[14]+0.3061862178478971*apar[5]*bioverJB_2[5]*hamil[12]+0.3061862178478971*apar[3]*bioverJB_2[3]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*apar[0]*dualcurlbhatoverB_3[5]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[5]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[5]*hamil[14]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_3[5]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_3[3]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_3[1]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_3[0]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_3[1]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_3[0]*apar[6]*hamil[12]-0.3061862178478971*apar[4]*bioverJB_3[5]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_3[3]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[5]*dualcurlbhatoverB_1[5]*hamil[21])-0.31819805153394626*apar[3]*dualcurlbhatoverB_1[3]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[0]*hamil[21]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[5]*hamil[12]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[16] = (((0.5511351921262146*apar[4]*bioverJB_1[5]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_1[3]*hamil[16]+0.3061862178478971*apar[2]*bioverJB_1[5]*hamil[8]+0.3061862178478971*bioverJB_1[3]*apar[4]*hamil[8]-0.5511351921262146*bioverJB_1[5]*hamil[6]*apar[7]-0.3061862178478971*hamil[2]*bioverJB_1[3]*apar[7]-0.3061862178478971*bioverJB_1[3]*apar[6]*hamil[6]-0.3061862178478971*hamil[2]*bioverJB_1[5]*apar[6])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_2[3]*hamil[16])+0.3061862178478971*bioverJB_2[1]*apar[3]*hamil[16]-0.3061862178478971*apar[1]*bioverJB_2[5]*hamil[8]-0.3061862178478971*bioverJB_2[1]*apar[5]*hamil[8]+0.3061862178478971*bioverJB_2[1]*apar[6]*hamil[7]-0.3061862178478971*bioverJB_2[3]*apar[4]*hamil[7]-0.3061862178478971*bioverJB_2[1]*hamil[3]*apar[7]+0.3061862178478971*hamil[1]*bioverJB_2[3]*apar[7]+0.3061862178478971*apar[3]*bioverJB_2[5]*hamil[6]+0.3061862178478971*bioverJB_2[3]*apar[5]*hamil[6]+0.3061862178478971*hamil[1]*bioverJB_2[5]*apar[6]-0.3061862178478971*hamil[3]*apar[4]*bioverJB_2[5])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_3[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_3[1]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[3]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[3]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[5]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[5]*hamil[8]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[3]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[3]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_3[1]*apar[7]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[6]*hamil[7]-0.31819805153394626*apar[4]*dualcurlbhatoverB_3[5]*hamil[7]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[3]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_3[0]*hamil[3]*apar[7]-0.1767766952966368*dualcurlbhatoverB_3[1]*hamil[3]*apar[6]-0.1767766952966368*apar[2]*hamil[3]*dualcurlbhatoverB_3[5]-0.1767766952966368*dualcurlbhatoverB_3[3]*hamil[3]*apar[4])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_3[5]*apar[6]*hamil[16])-0.3061862178478971*bioverJB_3[1]*apar[2]*hamil[16]+0.5511351921262146*bioverJB_3[5]*apar[7]*hamil[8]+0.3061862178478971*bioverJB_3[1]*apar[4]*hamil[8]+0.3061862178478971*bioverJB_3[1]*hamil[2]*apar[7]-0.3061862178478971*bioverJB_3[1]*apar[6]*hamil[6]-0.3061862178478971*apar[2]*bioverJB_3[5]*hamil[6]+0.3061862178478971*hamil[2]*apar[4]*bioverJB_3[5])*rdx2*rdy2)/vmap[1]+((-(0.5727564927611033*dualcurlbhatoverB_2[5]*apar[7]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_2[3]*apar[6]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_2[1]*apar[4]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[2]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_2[3]*apar[7]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_2[5]*apar[6]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[4]*hamil[8]-0.1767766952966368*dualcurlbhatoverB_2[1]*apar[2]*hamil[8]-0.31819805153394626*dualcurlbhatoverB_2[1]*hamil[6]*apar[7]-0.1767766952966368*dualcurlbhatoverB_2[0]*hamil[2]*apar[7]-0.1767766952966368*dualcurlbhatoverB_2[0]*apar[6]*hamil[6]-0.31819805153394626*apar[4]*dualcurlbhatoverB_2[5]*hamil[6]-0.1767766952966368*apar[2]*dualcurlbhatoverB_2[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_2[1]*hamil[2]*apar[6]-0.1767766952966368*apar[2]*hamil[2]*dualcurlbhatoverB_2[5]-0.1767766952966368*hamil[2]*dualcurlbhatoverB_2[3]*apar[4])*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_1[5]*hamil[16])-0.31819805153394626*dualcurlbhatoverB_1[3]*apar[5]*hamil[16]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[1]*hamil[16]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[1]*hamil[16]-0.31819805153394626*dualcurlbhatoverB_1[3]*apar[7]*hamil[7]-0.31819805153394626*dualcurlbhatoverB_1[5]*apar[6]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[4]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[2]*hamil[7]-0.1767766952966368*dualcurlbhatoverB_1[0]*hamil[1]*apar[7]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[5]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[5]*hamil[6]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[3]*hamil[6]-0.1767766952966368*dualcurlbhatoverB_1[1]*hamil[1]*apar[6]-0.1767766952966368*hamil[1]*apar[2]*dualcurlbhatoverB_1[5]-0.1767766952966368*hamil[1]*dualcurlbhatoverB_1[3]*apar[4])*rdx2)/vmap[1])/m_; + alphavpar[20] = (((0.3061862178478971*bioverJB_2[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_2[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_2[5]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_2[1]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_2[0]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_2[1]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_3[5]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[6]*hamil[21]-0.31819805153394626*dualcurlbhatoverB_3[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[5]*apar[6]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[4]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[2]*hamil[14])*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_1[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[5]*apar[6]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[4]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[2]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[21] = (((0.5511351921262146*bioverJB_1[1]*apar[7]*hamil[21]+0.3061862178478971*bioverJB_1[0]*apar[6]*hamil[21]+0.5511351921262146*apar[4]*bioverJB_1[5]*hamil[21]+0.3061862178478971*apar[2]*bioverJB_1[3]*hamil[21]+0.3061862178478971*bioverJB_1[0]*apar[7]*hamil[14]+0.3061862178478971*bioverJB_1[1]*apar[6]*hamil[14]+0.3061862178478971*apar[2]*bioverJB_1[5]*hamil[14]+0.3061862178478971*bioverJB_1[3]*apar[4]*hamil[14])*rdy2*rdz2)/vmap[1]+((-(0.3061862178478971*apar[1]*bioverJB_2[3]*hamil[21])+0.3061862178478971*bioverJB_2[1]*apar[3]*hamil[21]-0.3061862178478971*apar[1]*bioverJB_2[5]*hamil[14]-0.3061862178478971*bioverJB_2[1]*apar[5]*hamil[14]+0.3061862178478971*apar[3]*bioverJB_2[5]*hamil[12]+0.3061862178478971*bioverJB_2[3]*apar[5]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*apar[1]*dualcurlbhatoverB_3[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_3[1]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[3]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_3[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[5]*hamil[14]-0.1767766952966368*apar[1]*dualcurlbhatoverB_3[3]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[3]*hamil[14])*rdz2)/vmap[1]+((-(0.5511351921262146*bioverJB_3[3]*apar[7]*hamil[21])-0.5511351921262146*bioverJB_3[5]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_3[0]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_3[1]*apar[2]*hamil[21]-0.3061862178478971*bioverJB_3[0]*apar[7]*hamil[12]-0.3061862178478971*bioverJB_3[1]*apar[6]*hamil[12]-0.3061862178478971*apar[2]*bioverJB_3[5]*hamil[12]-0.3061862178478971*bioverJB_3[3]*apar[4]*hamil[12])*rdx2*rdy2)/vmap[1]+((-(0.31819805153394626*apar[3]*dualcurlbhatoverB_1[5]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_1[3]*apar[5]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[1]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[1]*hamil[21]-0.1767766952966368*apar[0]*dualcurlbhatoverB_1[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[5]*hamil[12]-0.1767766952966368*apar[1]*dualcurlbhatoverB_1[3]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[22] = (((0.3061862178478971*bioverJB_2[0]*apar[6]*hamil[21]-0.3061862178478971*apar[4]*bioverJB_2[5]*hamil[21]-0.3061862178478971*bioverJB_2[0]*apar[7]*hamil[14]-0.3061862178478971*bioverJB_2[3]*apar[4]*hamil[14]+0.3061862178478971*bioverJB_2[5]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_2[3]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.1767766952966368*dualcurlbhatoverB_3[0]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[6]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[5]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[6]*hamil[14]-0.1767766952966368*apar[4]*dualcurlbhatoverB_3[5]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[3]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_1[5]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_1[3]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[6]*hamil[12]-0.1767766952966368*apar[4]*dualcurlbhatoverB_1[5]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[3]*hamil[12])*rdx2)/vmap[1])/m_; + alphavpar[27] = (((0.3061862178478971*bioverJB_2[1]*apar[6]*hamil[21]-0.3061862178478971*bioverJB_2[3]*apar[4]*hamil[21]-0.3061862178478971*bioverJB_2[1]*apar[7]*hamil[14]-0.3061862178478971*apar[4]*bioverJB_2[5]*hamil[14]+0.3061862178478971*bioverJB_2[3]*apar[7]*hamil[12]+0.3061862178478971*bioverJB_2[5]*apar[6]*hamil[12])*rdx2*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_3[1]*apar[7]*hamil[21])-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[6]*hamil[21]-0.31819805153394626*apar[4]*dualcurlbhatoverB_3[5]*hamil[21]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[3]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_3[0]*apar[7]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[1]*apar[6]*hamil[14]-0.1767766952966368*apar[2]*dualcurlbhatoverB_3[5]*hamil[14]-0.1767766952966368*dualcurlbhatoverB_3[3]*apar[4]*hamil[14])*rdz2)/vmap[1]+((-(0.31819805153394626*dualcurlbhatoverB_1[3]*apar[7]*hamil[21])-0.31819805153394626*dualcurlbhatoverB_1[5]*apar[6]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[4]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[2]*hamil[21]-0.1767766952966368*dualcurlbhatoverB_1[0]*apar[7]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[1]*apar[6]*hamil[12]-0.1767766952966368*apar[2]*dualcurlbhatoverB_1[5]*hamil[12]-0.1767766952966368*dualcurlbhatoverB_1[3]*apar[4]*hamil[12])*rdx2)/vmap[1])/m_; out[4] += 0.3061862178478971*(alphavpar[27]*fin[27]+alphavpar[22]*fin[22]+alphavpar[21]*fin[21]+alphavpar[20]*fin[20]+alphavpar[16]*fin[16]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_2x2v_ser_p1.c index 58845cb3d4..a7f6cd3f9e 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_2x2v_ser_p1.c @@ -22,13 +22,13 @@ GKYL_CU_DH double dg_gyrokinetic_no_by_vol_2x2v_ser_p1(const double *w, const do double rdvpar2Sq = rdvpar2*rdvpar2; double dvparSq = dxv[2]*dxv[2]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[4]; - const double *bioverJB_z = &bioverJB[8]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[4]; + const double *bioverJB_3 = &bioverJB[8]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[4]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[8]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[8]; double hamil[24] = {0.}; hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_3x2v_ser_p1.c index 759613f79d..534609df37 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_no_by_vol_3x2v_ser_p1.c @@ -23,13 +23,13 @@ GKYL_CU_DH double dg_gyrokinetic_no_by_vol_3x2v_ser_p1(const double *w, const do double rdvpar2Sq = rdvpar2*rdvpar2; double dvparSq = dxv[3]*dxv[3]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[8]; - const double *bioverJB_z = &bioverJB[16]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[8]; + const double *bioverJB_3 = &bioverJB[16]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[8]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[16]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[8]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[16]; double hamil[48] = {0.}; hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x1v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x1v_ser_p1.c index bc8b9fcdef..584dd57402 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x1v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x1v_ser_p1.c @@ -20,13 +20,13 @@ GKYL_CU_DH double dg_gyrokinetic_vol_1x1v_ser_p1(const double *w, const double * double rdvpar2Sq = rdvpar2*rdvpar2; double dvparSq = dxv[1]*dxv[1]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[2]; - const double *bioverJB_z = &bioverJB[4]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[2]; + const double *bioverJB_3 = &bioverJB[4]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[2]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[2]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[4]; double hamil[6] = {0.}; hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; @@ -41,12 +41,12 @@ GKYL_CU_DH double dg_gyrokinetic_vol_1x1v_ser_p1(const double *w, const double * hamil2[1] = hamil[4]*hamil[4]; double alphax[6] = {0.}; - alphax[0] = (rdx2*((3.5355339059327373*dualcurlbhatoverB_z[0]*hamil2[1])/vmap2+(0.7071067811865475*dualcurlbhatoverB_z[0]*hamil2[0])/vmap2))/(m_*q_)+(rtg33inv[0]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); - alphax[1] = (rdx2*((3.5355339059327373*dualcurlbhatoverB_z[1]*hamil2[1])/vmap2+(0.7071067811865475*hamil2[0]*dualcurlbhatoverB_z[1])/vmap2))/(m_*q_)+(rtg33inv[1]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); - alphax[2] = (3.1622776601683795*dualcurlbhatoverB_z[0]*hamil[2]*hamil[4]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[0]*vmap[1]*hamil[4]*rdx2)/(m_*vmap2); - alphax[3] = (3.1622776601683795*dualcurlbhatoverB_z[1]*hamil[2]*hamil[4]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[1]*vmap[1]*hamil[4]*rdx2)/(m_*vmap2); - alphax[4] = (3.1622776601683795*dualcurlbhatoverB_z[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); - alphax[5] = (3.16227766016838*dualcurlbhatoverB_z[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[0] = (rdx2*((3.5355339059327373*dualcurlbhatoverB_3[0]*hamil2[1])/vmap2+(0.7071067811865475*dualcurlbhatoverB_3[0]*hamil2[0])/vmap2))/(m_*q_)+(rtg33inv[0]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); + alphax[1] = (rdx2*((3.5355339059327373*dualcurlbhatoverB_3[1]*hamil2[1])/vmap2+(0.7071067811865475*hamil2[0]*dualcurlbhatoverB_3[1])/vmap2))/(m_*q_)+(rtg33inv[1]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); + alphax[2] = (3.1622776601683795*dualcurlbhatoverB_3[0]*hamil[2]*hamil[4]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[0]*vmap[1]*hamil[4]*rdx2)/(m_*vmap2); + alphax[3] = (3.1622776601683795*dualcurlbhatoverB_3[1]*hamil[2]*hamil[4]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[1]*vmap[1]*hamil[4]*rdx2)/(m_*vmap2); + alphax[4] = (3.1622776601683795*dualcurlbhatoverB_3[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[5] = (3.16227766016838*dualcurlbhatoverB_3[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); out[1] += 0.8660254037844386*(alphax[5]*fin[5]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -54,10 +54,10 @@ GKYL_CU_DH double dg_gyrokinetic_vol_1x1v_ser_p1(const double *w, const double * out[5] += 0.5532833351724881*alphax[5]*fin[5]+0.8660254037844386*(alphax[1]*fin[5]+fin[1]*alphax[5])+0.5532833351724881*alphax[4]*fin[4]+0.8660254037844387*(alphax[0]*fin[4]+fin[0]*alphax[4])+0.7745966692414834*(alphax[3]*fin[3]+alphax[2]*fin[2]); double alphavpar[6] = {0.}; - alphavpar[0] = -((0.7071067811865475*dualcurlbhatoverB_z[0]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[0]*hamil[1]*vmap[1]*rdx2)/(m_*vmap2); - alphavpar[1] = -((0.7071067811865475*dualcurlbhatoverB_z[1]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*hamil[1]*rtg33inv[1]*vmap[1]*rdx2)/(m_*vmap2); - alphavpar[2] = -((1.5811388300841895*dualcurlbhatoverB_z[0]*hamil[1]*hamil[4]*rdx2)/(m_*q_*vmap2)); - alphavpar[3] = -((1.5811388300841895*dualcurlbhatoverB_z[1]*hamil[1]*hamil[4]*rdx2)/(m_*q_*vmap2)); + alphavpar[0] = -((0.7071067811865475*dualcurlbhatoverB_3[0]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[0]*hamil[1]*vmap[1]*rdx2)/(m_*vmap2); + alphavpar[1] = -((0.7071067811865475*dualcurlbhatoverB_3[1]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*hamil[1]*rtg33inv[1]*vmap[1]*rdx2)/(m_*vmap2); + alphavpar[2] = -((1.5811388300841895*dualcurlbhatoverB_3[0]*hamil[1]*hamil[4]*rdx2)/(m_*q_*vmap2)); + alphavpar[3] = -((1.5811388300841895*dualcurlbhatoverB_3[1]*hamil[1]*hamil[4]*rdx2)/(m_*q_*vmap2)); out[2] += 0.8660254037844386*(alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x2v_ser_p1.c index d1a6d34223..e8c0bb028d 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_1x2v_ser_p1.c @@ -21,13 +21,13 @@ GKYL_CU_DH double dg_gyrokinetic_vol_1x2v_ser_p1(const double *w, const double * double rdvpar2Sq = rdvpar2*rdvpar2; double dvparSq = dxv[1]*dxv[1]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[2]; - const double *bioverJB_z = &bioverJB[4]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[2]; + const double *bioverJB_3 = &bioverJB[4]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[2]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[2]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[4]; double hamil[12] = {0.}; hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; @@ -44,12 +44,12 @@ GKYL_CU_DH double dg_gyrokinetic_vol_1x2v_ser_p1(const double *w, const double * hamil2[1] = hamil[8]*hamil[8]; double alphax[12] = {0.}; - alphax[0] = (rdx2*((2.5*dualcurlbhatoverB_z[0]*hamil2[1])/vmap2+(0.5*dualcurlbhatoverB_z[0]*hamil2[0])/vmap2))/(m_*q_)+(rtg33inv[0]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); - alphax[1] = (rdx2*((2.5*dualcurlbhatoverB_z[1]*hamil2[1])/vmap2+(0.5*hamil2[0]*dualcurlbhatoverB_z[1])/vmap2))/(m_*q_)+(rtg33inv[1]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); - alphax[2] = (2.23606797749979*dualcurlbhatoverB_z[0]*hamil[2]*hamil[8]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[0]*vmap[1]*hamil[8]*rdx2)/(m_*vmap2); - alphax[4] = (2.23606797749979*dualcurlbhatoverB_z[1]*hamil[2]*hamil[8]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[1]*vmap[1]*hamil[8]*rdx2)/(m_*vmap2); - alphax[8] = (2.23606797749979*dualcurlbhatoverB_z[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); - alphax[9] = (2.2360679774997902*dualcurlbhatoverB_z[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[0] = (rdx2*((2.5*dualcurlbhatoverB_3[0]*hamil2[1])/vmap2+(0.5*dualcurlbhatoverB_3[0]*hamil2[0])/vmap2))/(m_*q_)+(rtg33inv[0]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); + alphax[1] = (rdx2*((2.5*dualcurlbhatoverB_3[1]*hamil2[1])/vmap2+(0.5*hamil2[0]*dualcurlbhatoverB_3[1])/vmap2))/(m_*q_)+(rtg33inv[1]*vmap[1]*hamil[2]*rdx2)/(m_*vmap2); + alphax[2] = (2.23606797749979*dualcurlbhatoverB_3[0]*hamil[2]*hamil[8]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[0]*vmap[1]*hamil[8]*rdx2)/(m_*vmap2); + alphax[4] = (2.23606797749979*dualcurlbhatoverB_3[1]*hamil[2]*hamil[8]*rdx2)/(m_*q_*vmap2)+(2.23606797749979*rtg33inv[1]*vmap[1]*hamil[8]*rdx2)/(m_*vmap2); + alphax[8] = (2.23606797749979*dualcurlbhatoverB_3[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[9] = (2.2360679774997902*dualcurlbhatoverB_3[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); out[1] += 0.6123724356957944*(alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[4]*fin[4]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -60,14 +60,14 @@ GKYL_CU_DH double dg_gyrokinetic_vol_1x2v_ser_p1(const double *w, const double * out[11] += (0.39123039821797573*alphax[9]+0.6123724356957944*alphax[1])*fin[11]+0.39123039821797573*alphax[8]*fin[10]+0.6123724356957944*(alphax[0]*fin[10]+fin[5]*alphax[9]+fin[3]*alphax[8])+0.5477225575051661*(alphax[4]*fin[7]+alphax[2]*fin[6]); double alphavpar[12] = {0.}; - alphavpar[0] = -((0.5*dualcurlbhatoverB_z[0]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[0]*hamil[1]*vmap[1]*rdx2)/(m_*vmap2); - alphavpar[1] = -((0.5*dualcurlbhatoverB_z[1]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*hamil[1]*rtg33inv[1]*vmap[1]*rdx2)/(m_*vmap2); - alphavpar[2] = -((1.118033988749895*dualcurlbhatoverB_z[0]*hamil[1]*hamil[8]*rdx2)/(m_*q_*vmap2)); - alphavpar[3] = -((0.5*dualcurlbhatoverB_z[0]*hamil[2]*hamil[5]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[0]*vmap[1]*hamil[5]*rdx2)/(m_*vmap2); - alphavpar[4] = -((1.118033988749895*dualcurlbhatoverB_z[1]*hamil[1]*hamil[8]*rdx2)/(m_*q_*vmap2)); - alphavpar[5] = -((0.5*dualcurlbhatoverB_z[1]*hamil[2]*hamil[5]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[1]*vmap[1]*hamil[5]*rdx2)/(m_*vmap2); - alphavpar[6] = -((1.118033988749895*dualcurlbhatoverB_z[0]*hamil[5]*hamil[8]*rdx2)/(m_*q_*vmap2)); - alphavpar[7] = -((1.118033988749895*dualcurlbhatoverB_z[1]*hamil[5]*hamil[8]*rdx2)/(m_*q_*vmap2)); + alphavpar[0] = -((0.5*dualcurlbhatoverB_3[0]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[0]*hamil[1]*vmap[1]*rdx2)/(m_*vmap2); + alphavpar[1] = -((0.5*dualcurlbhatoverB_3[1]*hamil[1]*hamil[2]*rdx2)/(m_*q_*vmap2))-(1.0*hamil[1]*rtg33inv[1]*vmap[1]*rdx2)/(m_*vmap2); + alphavpar[2] = -((1.118033988749895*dualcurlbhatoverB_3[0]*hamil[1]*hamil[8]*rdx2)/(m_*q_*vmap2)); + alphavpar[3] = -((0.5*dualcurlbhatoverB_3[0]*hamil[2]*hamil[5]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[0]*vmap[1]*hamil[5]*rdx2)/(m_*vmap2); + alphavpar[4] = -((1.118033988749895*dualcurlbhatoverB_3[1]*hamil[1]*hamil[8]*rdx2)/(m_*q_*vmap2)); + alphavpar[5] = -((0.5*dualcurlbhatoverB_3[1]*hamil[2]*hamil[5]*rdx2)/(m_*q_*vmap2))-(1.0*rtg33inv[1]*vmap[1]*hamil[5]*rdx2)/(m_*vmap2); + alphavpar[6] = -((1.118033988749895*dualcurlbhatoverB_3[0]*hamil[5]*hamil[8]*rdx2)/(m_*q_*vmap2)); + alphavpar[7] = -((1.118033988749895*dualcurlbhatoverB_3[1]*hamil[5]*hamil[8]*rdx2)/(m_*q_*vmap2)); out[2] += 0.6123724356957944*(alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_2x2v_ser_p1.c index ca50761939..96f313faa4 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_2x2v_ser_p1.c @@ -22,13 +22,13 @@ GKYL_CU_DH double dg_gyrokinetic_vol_2x2v_ser_p1(const double *w, const double * double rdvpar2Sq = rdvpar2*rdvpar2; double dvparSq = dxv[2]*dxv[2]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[4]; - const double *bioverJB_z = &bioverJB[8]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[4]; + const double *bioverJB_3 = &bioverJB[8]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[4]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[8]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[4]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[8]; double hamil[24] = {0.}; hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); @@ -49,22 +49,22 @@ GKYL_CU_DH double dg_gyrokinetic_vol_2x2v_ser_p1(const double *w, const double * hamil2[1] = hamil[16]*hamil[16]; double alphax[24] = {0.}; - alphax[0] = (rdx2*((1.25*dualcurlbhatoverB_x[0]*hamil2[1])/vmap2+(0.25*dualcurlbhatoverB_x[0]*hamil2[0])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_y[1]*hamil[5]+0.8660254037844386*bioverJB_y[0]*hamil[2])*rdx2*rdz2)/q_; - alphax[1] = (rdx2*((1.25*dualcurlbhatoverB_x[1]*hamil2[1])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_x[1])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_y[0]*hamil[5]+0.8660254037844386*bioverJB_y[1]*hamil[2])*rdx2*rdz2)/q_; - alphax[2] = (rdx2*((1.25*hamil2[1]*dualcurlbhatoverB_x[2])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_x[2])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_y[3]*hamil[5]+0.8660254037844386*bioverJB_y[2]*hamil[2])*rdx2*rdz2)/q_; - alphax[3] = (1.118033988749895*dualcurlbhatoverB_x[0]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); - alphax[4] = ((0.8660254037844386*bioverJB_y[1]*hamil[12]+0.8660254037844386*bioverJB_y[0]*hamil[9])*rdx2*rdz2)/q_; - alphax[5] = (rdx2*((1.25*hamil2[1]*dualcurlbhatoverB_x[3])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_x[3])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_y[2]*hamil[5]+0.8660254037844386*hamil[2]*bioverJB_y[3])*rdx2*rdz2)/q_; - alphax[6] = (1.118033988749895*dualcurlbhatoverB_x[1]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); - alphax[7] = (1.118033988749895*dualcurlbhatoverB_x[2]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); - alphax[8] = ((0.8660254037844386*bioverJB_y[0]*hamil[12]+0.8660254037844386*bioverJB_y[1]*hamil[9])*rdx2*rdz2)/q_; - alphax[9] = ((0.8660254037844386*bioverJB_y[3]*hamil[12]+0.8660254037844386*bioverJB_y[2]*hamil[9])*rdx2*rdz2)/q_; - alphax[11] = (1.118033988749895*dualcurlbhatoverB_x[3]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); - alphax[12] = ((0.8660254037844386*bioverJB_y[2]*hamil[12]+0.8660254037844386*bioverJB_y[3]*hamil[9])*rdx2*rdz2)/q_; - alphax[16] = (1.118033988749895*dualcurlbhatoverB_x[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); - alphax[17] = (1.1180339887498951*dualcurlbhatoverB_x[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); - alphax[18] = (1.1180339887498951*hamil2[1]*dualcurlbhatoverB_x[2]*rdx2)/(m_*q_*vmap2); - alphax[20] = (1.118033988749895*hamil2[1]*dualcurlbhatoverB_x[3]*rdx2)/(m_*q_*vmap2); + alphax[0] = (rdx2*((1.25*dualcurlbhatoverB_1[0]*hamil2[1])/vmap2+(0.25*dualcurlbhatoverB_1[0]*hamil2[0])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_2[1]*hamil[5]+0.8660254037844386*bioverJB_2[0]*hamil[2])*rdx2*rdz2)/q_; + alphax[1] = (rdx2*((1.25*dualcurlbhatoverB_1[1]*hamil2[1])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_1[1])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_2[0]*hamil[5]+0.8660254037844386*bioverJB_2[1]*hamil[2])*rdx2*rdz2)/q_; + alphax[2] = (rdx2*((1.25*hamil2[1]*dualcurlbhatoverB_1[2])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_1[2])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_2[3]*hamil[5]+0.8660254037844386*bioverJB_2[2]*hamil[2])*rdx2*rdz2)/q_; + alphax[3] = (1.118033988749895*dualcurlbhatoverB_1[0]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); + alphax[4] = ((0.8660254037844386*bioverJB_2[1]*hamil[12]+0.8660254037844386*bioverJB_2[0]*hamil[9])*rdx2*rdz2)/q_; + alphax[5] = (rdx2*((1.25*hamil2[1]*dualcurlbhatoverB_1[3])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_1[3])/vmap2))/(m_*q_)+((0.8660254037844386*bioverJB_2[2]*hamil[5]+0.8660254037844386*hamil[2]*bioverJB_2[3])*rdx2*rdz2)/q_; + alphax[6] = (1.118033988749895*dualcurlbhatoverB_1[1]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); + alphax[7] = (1.118033988749895*dualcurlbhatoverB_1[2]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); + alphax[8] = ((0.8660254037844386*bioverJB_2[0]*hamil[12]+0.8660254037844386*bioverJB_2[1]*hamil[9])*rdx2*rdz2)/q_; + alphax[9] = ((0.8660254037844386*bioverJB_2[3]*hamil[12]+0.8660254037844386*bioverJB_2[2]*hamil[9])*rdx2*rdz2)/q_; + alphax[11] = (1.118033988749895*dualcurlbhatoverB_1[3]*hamil[3]*hamil[16]*rdx2)/(m_*q_*vmap2); + alphax[12] = ((0.8660254037844386*bioverJB_2[2]*hamil[12]+0.8660254037844386*bioverJB_2[3]*hamil[9])*rdx2*rdz2)/q_; + alphax[16] = (1.118033988749895*dualcurlbhatoverB_1[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[17] = (1.1180339887498951*dualcurlbhatoverB_1[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[18] = (1.1180339887498951*hamil2[1]*dualcurlbhatoverB_1[2]*rdx2)/(m_*q_*vmap2); + alphax[20] = (1.118033988749895*hamil2[1]*dualcurlbhatoverB_1[3]*rdx2)/(m_*q_*vmap2); out[1] += 0.4330127018922193*(alphax[20]*fin[20]+alphax[18]*fin[18]+alphax[17]*fin[17]+alphax[16]*fin[16]+alphax[12]*fin[12]+alphax[11]*fin[11]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -81,22 +81,22 @@ GKYL_CU_DH double dg_gyrokinetic_vol_2x2v_ser_p1(const double *w, const double * out[23] += (0.27664166758624403*alphax[17]+0.4330127018922193*alphax[1])*fin[23]+(0.27664166758624403*alphax[16]+0.43301270189221935*alphax[0])*fin[22]+0.27664166758624403*alphax[20]*fin[21]+0.43301270189221935*(alphax[5]*fin[21]+alphax[8]*fin[20]+fin[8]*alphax[20])+0.27664166758624403*alphax[18]*fin[19]+0.4330127018922193*(alphax[2]*fin[19]+alphax[4]*fin[18]+fin[4]*alphax[18]+alphax[12]*fin[17]+fin[12]*alphax[17])+0.43301270189221935*(alphax[9]*fin[16]+fin[9]*alphax[16])+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); double alphaz[24] = {0.}; - alphaz[0] = (rdz2*((1.25*dualcurlbhatoverB_z[0]*hamil2[1])/vmap2+(0.25*dualcurlbhatoverB_z[0]*hamil2[0])/vmap2))/(m_*q_)+(0.7071067811865475*rtg33inv[0]*vmap[1]*hamil[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_y[2]*hamil[5])-0.8660254037844386*bioverJB_y[0]*hamil[1])*rdx2*rdz2)/q_; - alphaz[1] = (rdz2*((1.25*dualcurlbhatoverB_z[1]*hamil2[1])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_z[1])/vmap2))/(m_*q_)+(0.7071067811865475*rtg33inv[1]*vmap[1]*hamil[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_y[3]*hamil[5])-0.8660254037844386*bioverJB_y[1]*hamil[1])*rdx2*rdz2)/q_; - alphaz[2] = (rdz2*((1.25*hamil2[1]*dualcurlbhatoverB_z[2])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_z[2])/vmap2))/(m_*q_)+(0.7071067811865475*vmap[1]*rtg33inv[2]*hamil[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_y[0]*hamil[5])-0.8660254037844386*hamil[1]*bioverJB_y[2])*rdx2*rdz2)/q_; - alphaz[3] = (1.118033988749895*dualcurlbhatoverB_z[0]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*rtg33inv[0]*vmap[1]*hamil[16]*rdz2)/(m_*vmap2); - alphaz[4] = ((-(0.8660254037844386*bioverJB_y[2]*hamil[12])-0.8660254037844386*bioverJB_y[0]*hamil[8])*rdx2*rdz2)/q_; - alphaz[5] = (rdz2*((1.25*hamil2[1]*dualcurlbhatoverB_z[3])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_z[3])/vmap2))/(m_*q_)+(0.7071067811865475*vmap[1]*hamil[3]*rtg33inv[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_y[1]*hamil[5])-0.8660254037844386*hamil[1]*bioverJB_y[3])*rdx2*rdz2)/q_; - alphaz[6] = (1.118033988749895*dualcurlbhatoverB_z[1]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*rtg33inv[1]*vmap[1]*hamil[16]*rdz2)/(m_*vmap2); - alphaz[7] = (1.118033988749895*dualcurlbhatoverB_z[2]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*vmap[1]*rtg33inv[2]*hamil[16]*rdz2)/(m_*vmap2); - alphaz[8] = ((-(0.8660254037844386*bioverJB_y[3]*hamil[12])-0.8660254037844386*bioverJB_y[1]*hamil[8])*rdx2*rdz2)/q_; - alphaz[9] = ((-(0.8660254037844386*bioverJB_y[0]*hamil[12])-0.8660254037844386*bioverJB_y[2]*hamil[8])*rdx2*rdz2)/q_; - alphaz[11] = (1.118033988749895*dualcurlbhatoverB_z[3]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*vmap[1]*rtg33inv[3]*hamil[16]*rdz2)/(m_*vmap2); - alphaz[12] = ((-(0.8660254037844386*bioverJB_y[1]*hamil[12])-0.8660254037844386*bioverJB_y[3]*hamil[8])*rdx2*rdz2)/q_; - alphaz[16] = (1.118033988749895*dualcurlbhatoverB_z[0]*hamil2[1]*rdz2)/(m_*q_*vmap2); - alphaz[17] = (1.1180339887498951*dualcurlbhatoverB_z[1]*hamil2[1]*rdz2)/(m_*q_*vmap2); - alphaz[18] = (1.1180339887498951*hamil2[1]*dualcurlbhatoverB_z[2]*rdz2)/(m_*q_*vmap2); - alphaz[20] = (1.118033988749895*hamil2[1]*dualcurlbhatoverB_z[3]*rdz2)/(m_*q_*vmap2); + alphaz[0] = (rdz2*((1.25*dualcurlbhatoverB_3[0]*hamil2[1])/vmap2+(0.25*dualcurlbhatoverB_3[0]*hamil2[0])/vmap2))/(m_*q_)+(0.7071067811865475*rtg33inv[0]*vmap[1]*hamil[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_2[2]*hamil[5])-0.8660254037844386*bioverJB_2[0]*hamil[1])*rdx2*rdz2)/q_; + alphaz[1] = (rdz2*((1.25*dualcurlbhatoverB_3[1]*hamil2[1])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_3[1])/vmap2))/(m_*q_)+(0.7071067811865475*rtg33inv[1]*vmap[1]*hamil[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_2[3]*hamil[5])-0.8660254037844386*bioverJB_2[1]*hamil[1])*rdx2*rdz2)/q_; + alphaz[2] = (rdz2*((1.25*hamil2[1]*dualcurlbhatoverB_3[2])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_3[2])/vmap2))/(m_*q_)+(0.7071067811865475*vmap[1]*rtg33inv[2]*hamil[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_2[0]*hamil[5])-0.8660254037844386*hamil[1]*bioverJB_2[2])*rdx2*rdz2)/q_; + alphaz[3] = (1.118033988749895*dualcurlbhatoverB_3[0]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*rtg33inv[0]*vmap[1]*hamil[16]*rdz2)/(m_*vmap2); + alphaz[4] = ((-(0.8660254037844386*bioverJB_2[2]*hamil[12])-0.8660254037844386*bioverJB_2[0]*hamil[8])*rdx2*rdz2)/q_; + alphaz[5] = (rdz2*((1.25*hamil2[1]*dualcurlbhatoverB_3[3])/vmap2+(0.25*hamil2[0]*dualcurlbhatoverB_3[3])/vmap2))/(m_*q_)+(0.7071067811865475*vmap[1]*hamil[3]*rtg33inv[3]*rdz2)/(m_*vmap2)+((-(0.8660254037844386*bioverJB_2[1]*hamil[5])-0.8660254037844386*hamil[1]*bioverJB_2[3])*rdx2*rdz2)/q_; + alphaz[6] = (1.118033988749895*dualcurlbhatoverB_3[1]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*rtg33inv[1]*vmap[1]*hamil[16]*rdz2)/(m_*vmap2); + alphaz[7] = (1.118033988749895*dualcurlbhatoverB_3[2]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*vmap[1]*rtg33inv[2]*hamil[16]*rdz2)/(m_*vmap2); + alphaz[8] = ((-(0.8660254037844386*bioverJB_2[3]*hamil[12])-0.8660254037844386*bioverJB_2[1]*hamil[8])*rdx2*rdz2)/q_; + alphaz[9] = ((-(0.8660254037844386*bioverJB_2[0]*hamil[12])-0.8660254037844386*bioverJB_2[2]*hamil[8])*rdx2*rdz2)/q_; + alphaz[11] = (1.118033988749895*dualcurlbhatoverB_3[3]*hamil[3]*hamil[16]*rdz2)/(m_*q_*vmap2)+(1.5811388300841895*vmap[1]*rtg33inv[3]*hamil[16]*rdz2)/(m_*vmap2); + alphaz[12] = ((-(0.8660254037844386*bioverJB_2[1]*hamil[12])-0.8660254037844386*bioverJB_2[3]*hamil[8])*rdx2*rdz2)/q_; + alphaz[16] = (1.118033988749895*dualcurlbhatoverB_3[0]*hamil2[1]*rdz2)/(m_*q_*vmap2); + alphaz[17] = (1.1180339887498951*dualcurlbhatoverB_3[1]*hamil2[1]*rdz2)/(m_*q_*vmap2); + alphaz[18] = (1.1180339887498951*hamil2[1]*dualcurlbhatoverB_3[2]*rdz2)/(m_*q_*vmap2); + alphaz[20] = (1.118033988749895*hamil2[1]*dualcurlbhatoverB_3[3]*rdz2)/(m_*q_*vmap2); out[2] += 0.4330127018922193*(alphaz[20]*fin[20]+alphaz[18]*fin[18]+alphaz[17]*fin[17]+alphaz[16]*fin[16]+alphaz[12]*fin[12]+alphaz[11]*fin[11]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -113,22 +113,22 @@ GKYL_CU_DH double dg_gyrokinetic_vol_2x2v_ser_p1(const double *w, const double * out[23] += (0.27664166758624403*alphaz[18]+0.4330127018922193*alphaz[2])*fin[23]+(0.27664166758624403*alphaz[20]+0.43301270189221935*alphaz[5])*fin[22]+0.27664166758624403*alphaz[16]*fin[21]+0.43301270189221935*(alphaz[0]*fin[21]+alphaz[9]*fin[20]+fin[9]*alphaz[20])+0.27664166758624403*alphaz[17]*fin[19]+0.4330127018922193*(alphaz[1]*fin[19]+alphaz[12]*fin[18]+fin[12]*alphaz[18]+alphaz[4]*fin[17]+fin[4]*alphaz[17])+0.43301270189221935*(alphaz[8]*fin[16]+fin[8]*alphaz[16])+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); double alphavpar[24] = {0.}; - alphavpar[0] = (rdx2*(-((0.25*dualcurlbhatoverB_x[2]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_x[0]*hamil[1]*hamil[3])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_z[1]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_z[0]*hamil[2]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[1]*hamil[5])/vmap2)-(0.7071067811865475*rtg33inv[0]*hamil[2])/vmap2))/m_; - alphavpar[1] = (rdx2*(-((0.25*dualcurlbhatoverB_x[3]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_x[1]*hamil[1]*hamil[3])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_z[0]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_z[1]*hamil[2]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[0]*hamil[5])/vmap2)-(0.7071067811865475*rtg33inv[1]*hamil[2])/vmap2))/m_; - alphavpar[2] = (rdz2*(-((0.25*dualcurlbhatoverB_z[3]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_z[2]*hamil[2]*hamil[3])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_x[0]*hamil[3]*hamil[5])/vmap2)-(0.25*hamil[1]*dualcurlbhatoverB_x[2]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[3]*hamil[5])/vmap2)-(0.7071067811865475*hamil[2]*rtg33inv[2])/vmap2))/m_; - alphavpar[3] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[2]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_x[0]*hamil[1]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[1]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_z[0]*hamil[2]*hamil[16])/vmap2))/(m_*q_); - alphavpar[4] = (rdx2*(-((0.25*dualcurlbhatoverB_x[2]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_x[0]*hamil[3]*hamil[8])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_z[1]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_z[0]*hamil[3]*hamil[9])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[1]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[0]*hamil[9])/vmap2))/m_; - alphavpar[5] = (rdz2*(-((0.25*dualcurlbhatoverB_z[2]*hamil[3]*hamil[5])/vmap2)-(0.25*hamil[2]*dualcurlbhatoverB_z[3]*hamil[3])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_x[1]*hamil[3]*hamil[5])/vmap2)-(0.25*hamil[1]*dualcurlbhatoverB_x[3]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[2]*hamil[5])/vmap2)-(0.7071067811865475*hamil[2]*rtg33inv[3])/vmap2))/m_; - alphavpar[6] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[3]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_x[1]*hamil[1]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[0]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_z[1]*hamil[2]*hamil[16])/vmap2))/(m_*q_); - alphavpar[7] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[3]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_z[2]*hamil[2]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[0]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*hamil[1]*dualcurlbhatoverB_x[2]*hamil[16])/vmap2))/(m_*q_); - alphavpar[8] = (rdx2*(-((0.25*dualcurlbhatoverB_x[3]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_x[1]*hamil[3]*hamil[8])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_z[0]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_z[1]*hamil[3]*hamil[9])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[0]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[1]*hamil[9])/vmap2))/m_; - alphavpar[9] = (rdz2*(-((0.25*dualcurlbhatoverB_z[3]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_z[2]*hamil[3]*hamil[9])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_x[0]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_x[2]*hamil[3]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[3]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[2]*hamil[9])/vmap2))/m_; - alphavpar[10] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[2]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_x[0]*hamil[8]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[1]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_z[0]*hamil[9]*hamil[16])/vmap2))/(m_*q_); - alphavpar[11] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[2]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*hamil[2]*dualcurlbhatoverB_z[3]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[1]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*hamil[1]*dualcurlbhatoverB_x[3]*hamil[16])/vmap2))/(m_*q_); - alphavpar[12] = (rdz2*(-((0.25*dualcurlbhatoverB_z[2]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_z[3]*hamil[3]*hamil[9])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_x[1]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_x[3]*hamil[3]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[2]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[3]*hamil[9])/vmap2))/m_; - alphavpar[13] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[3]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_x[1]*hamil[8]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[0]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_z[1]*hamil[9]*hamil[16])/vmap2))/(m_*q_); - alphavpar[14] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[3]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_z[2]*hamil[9]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[0]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_x[2]*hamil[8]*hamil[16])/vmap2))/(m_*q_); - alphavpar[15] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_z[2]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_z[3]*hamil[9]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_x[1]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_x[3]*hamil[8]*hamil[16])/vmap2))/(m_*q_); + alphavpar[0] = (rdx2*(-((0.25*dualcurlbhatoverB_1[2]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_1[0]*hamil[1]*hamil[3])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_3[1]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_3[0]*hamil[2]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[1]*hamil[5])/vmap2)-(0.7071067811865475*rtg33inv[0]*hamil[2])/vmap2))/m_; + alphavpar[1] = (rdx2*(-((0.25*dualcurlbhatoverB_1[3]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_1[1]*hamil[1]*hamil[3])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_3[0]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_3[1]*hamil[2]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[0]*hamil[5])/vmap2)-(0.7071067811865475*rtg33inv[1]*hamil[2])/vmap2))/m_; + alphavpar[2] = (rdz2*(-((0.25*dualcurlbhatoverB_3[3]*hamil[3]*hamil[5])/vmap2)-(0.25*dualcurlbhatoverB_3[2]*hamil[2]*hamil[3])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_1[0]*hamil[3]*hamil[5])/vmap2)-(0.25*hamil[1]*dualcurlbhatoverB_1[2]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[3]*hamil[5])/vmap2)-(0.7071067811865475*hamil[2]*rtg33inv[2])/vmap2))/m_; + alphavpar[3] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[2]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_1[0]*hamil[1]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[1]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_3[0]*hamil[2]*hamil[16])/vmap2))/(m_*q_); + alphavpar[4] = (rdx2*(-((0.25*dualcurlbhatoverB_1[2]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_1[0]*hamil[3]*hamil[8])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_3[1]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_3[0]*hamil[3]*hamil[9])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[1]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[0]*hamil[9])/vmap2))/m_; + alphavpar[5] = (rdz2*(-((0.25*dualcurlbhatoverB_3[2]*hamil[3]*hamil[5])/vmap2)-(0.25*hamil[2]*dualcurlbhatoverB_3[3]*hamil[3])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_1[1]*hamil[3]*hamil[5])/vmap2)-(0.25*hamil[1]*dualcurlbhatoverB_1[3]*hamil[3])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[2]*hamil[5])/vmap2)-(0.7071067811865475*hamil[2]*rtg33inv[3])/vmap2))/m_; + alphavpar[6] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[3]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_1[1]*hamil[1]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[0]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_3[1]*hamil[2]*hamil[16])/vmap2))/(m_*q_); + alphavpar[7] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[3]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_3[2]*hamil[2]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[0]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*hamil[1]*dualcurlbhatoverB_1[2]*hamil[16])/vmap2))/(m_*q_); + alphavpar[8] = (rdx2*(-((0.25*dualcurlbhatoverB_1[3]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_1[1]*hamil[3]*hamil[8])/vmap2)+rdz2*(-((0.25*dualcurlbhatoverB_3[0]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_3[1]*hamil[3]*hamil[9])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[0]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[1]*hamil[9])/vmap2))/m_; + alphavpar[9] = (rdz2*(-((0.25*dualcurlbhatoverB_3[3]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_3[2]*hamil[3]*hamil[9])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_1[0]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_1[2]*hamil[3]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[3]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[2]*hamil[9])/vmap2))/m_; + alphavpar[10] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[2]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_1[0]*hamil[8]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[1]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_3[0]*hamil[9]*hamil[16])/vmap2))/(m_*q_); + alphavpar[11] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[2]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*hamil[2]*dualcurlbhatoverB_3[3]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[1]*hamil[5]*hamil[16])/vmap2)-(0.5590169943749475*hamil[1]*dualcurlbhatoverB_1[3]*hamil[16])/vmap2))/(m_*q_); + alphavpar[12] = (rdz2*(-((0.25*dualcurlbhatoverB_3[2]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_3[3]*hamil[3]*hamil[9])/vmap2)+rdx2*(-((0.25*dualcurlbhatoverB_1[1]*hamil[3]*hamil[12])/vmap2)-(0.25*dualcurlbhatoverB_1[3]*hamil[3]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.7071067811865475*rtg33inv[2]*hamil[12])/vmap2)-(0.7071067811865475*rtg33inv[3]*hamil[9])/vmap2))/m_; + alphavpar[13] = (rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[3]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_1[1]*hamil[8]*hamil[16])/vmap2)+rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[0]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_3[1]*hamil[9]*hamil[16])/vmap2))/(m_*q_); + alphavpar[14] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[3]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_3[2]*hamil[9]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[0]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_1[2]*hamil[8]*hamil[16])/vmap2))/(m_*q_); + alphavpar[15] = (rdz2*(-((0.5590169943749475*dualcurlbhatoverB_3[2]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_3[3]*hamil[9]*hamil[16])/vmap2)+rdx2*(-((0.5590169943749475*dualcurlbhatoverB_1[1]*hamil[12]*hamil[16])/vmap2)-(0.5590169943749475*dualcurlbhatoverB_1[3]*hamil[8]*hamil[16])/vmap2))/(m_*q_); out[3] += 0.4330127018922193*(alphavpar[15]*fin[15]+alphavpar[14]*fin[14]+alphavpar[13]*fin[13]+alphavpar[12]*fin[12]+alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_3x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_3x2v_ser_p1.c index ab026b29b6..9575cc5f86 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_3x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_vol_3x2v_ser_p1.c @@ -23,13 +23,13 @@ GKYL_CU_DH double dg_gyrokinetic_vol_3x2v_ser_p1(const double *w, const double * double rdvpar2Sq = rdvpar2*rdvpar2; double dvparSq = dxv[3]*dxv[3]; - const double *bioverJB_x = &bioverJB[0]; - const double *bioverJB_y = &bioverJB[8]; - const double *bioverJB_z = &bioverJB[16]; + const double *bioverJB_1 = &bioverJB[0]; + const double *bioverJB_2 = &bioverJB[8]; + const double *bioverJB_3 = &bioverJB[16]; - const double *dualcurlbhatoverB_x = &dualcurlbhatoverB[0]; - const double *dualcurlbhatoverB_y = &dualcurlbhatoverB[8]; - const double *dualcurlbhatoverB_z = &dualcurlbhatoverB[16]; + const double *dualcurlbhatoverB_1 = &dualcurlbhatoverB[0]; + const double *dualcurlbhatoverB_2 = &dualcurlbhatoverB[8]; + const double *dualcurlbhatoverB_3 = &dualcurlbhatoverB[16]; double hamil[48] = {0.}; hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; @@ -54,26 +54,26 @@ GKYL_CU_DH double dg_gyrokinetic_vol_3x2v_ser_p1(const double *w, const double * hamil2[1] = hamil[32]*hamil[32]; double alphax[48] = {0.}; - alphax[0] = (rdx2*((0.625*dualcurlbhatoverB_x[0]*hamil2[1])/vmap2+(0.125*dualcurlbhatoverB_x[0]*hamil2[0])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_y[1]*hamil[7]+0.6123724356957944*bioverJB_y[0]*hamil[3])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_z[5]*hamil[16])-0.6123724356957944*bioverJB_z[3]*hamil[8]-0.6123724356957944*bioverJB_z[1]*hamil[6]-0.6123724356957944*bioverJB_z[0]*hamil[2])*rdx2*rdy2)/q_; - alphax[1] = (rdx2*((0.625*dualcurlbhatoverB_x[1]*hamil2[1])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_x[1])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_y[0]*hamil[7]+0.6123724356957944*bioverJB_y[1]*hamil[3])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_z[3]*hamil[16])-0.6123724356957944*bioverJB_z[5]*hamil[8]-0.6123724356957944*bioverJB_z[0]*hamil[6]-0.6123724356957944*bioverJB_z[1]*hamil[2])*rdx2*rdy2)/q_; - alphax[2] = ((0.6123724356957944*bioverJB_y[1]*hamil[16]+0.6123724356957944*bioverJB_y[0]*hamil[8])*rdx2*rdz2)/q_; - alphax[3] = (rdx2*((0.625*hamil2[1]*dualcurlbhatoverB_x[3])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_x[3])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_y[5]*hamil[7]+0.6123724356957944*bioverJB_y[3]*hamil[3])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_z[1]*hamil[16])-0.6123724356957944*bioverJB_z[0]*hamil[8]-0.6123724356957944*bioverJB_z[5]*hamil[6]-0.6123724356957944*hamil[2]*bioverJB_z[3])*rdx2*rdy2)/q_; - alphax[4] = (0.5590169943749475*dualcurlbhatoverB_x[0]*hamil[4]*hamil[32]*rdx2)/(m_*q_*vmap2); - alphax[5] = ((0.6123724356957944*bioverJB_y[1]*hamil[21]+0.6123724356957944*bioverJB_y[0]*hamil[14])*rdx2*rdz2)/q_; - alphax[6] = ((0.6123724356957944*bioverJB_y[0]*hamil[16]+0.6123724356957944*bioverJB_y[1]*hamil[8])*rdx2*rdz2)/q_; - alphax[7] = (rdx2*((0.625*hamil2[1]*dualcurlbhatoverB_x[5])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_x[5])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_y[3]*hamil[7]+0.6123724356957944*hamil[3]*bioverJB_y[5])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_z[0]*hamil[16])-0.6123724356957944*bioverJB_z[1]*hamil[8]-0.6123724356957944*bioverJB_z[3]*hamil[6]-0.6123724356957944*hamil[2]*bioverJB_z[5])*rdx2*rdy2)/q_; - alphax[8] = ((0.6123724356957944*bioverJB_y[5]*hamil[16]+0.6123724356957944*bioverJB_y[3]*hamil[8])*rdx2*rdz2)/q_; - alphax[9] = (0.5590169943749475*dualcurlbhatoverB_x[1]*hamil[4]*hamil[32]*rdx2)/(m_*q_*vmap2); - alphax[11] = (0.5590169943749475*dualcurlbhatoverB_x[3]*hamil[4]*hamil[32]*rdx2)/(m_*q_*vmap2); - alphax[12] = ((0.6123724356957944*bioverJB_y[0]*hamil[21]+0.6123724356957944*bioverJB_y[1]*hamil[14])*rdx2*rdz2)/q_; - alphax[14] = ((0.6123724356957944*bioverJB_y[5]*hamil[21]+0.6123724356957944*bioverJB_y[3]*hamil[14])*rdx2*rdz2)/q_; - alphax[16] = ((0.6123724356957944*bioverJB_y[3]*hamil[16]+0.6123724356957944*bioverJB_y[5]*hamil[8])*rdx2*rdz2)/q_; - alphax[18] = (0.5590169943749475*hamil[4]*dualcurlbhatoverB_x[5]*hamil[32]*rdx2)/(m_*q_*vmap2); - alphax[21] = ((0.6123724356957944*bioverJB_y[3]*hamil[21]+0.6123724356957944*bioverJB_y[5]*hamil[14])*rdx2*rdz2)/q_; - alphax[32] = (0.5590169943749475*dualcurlbhatoverB_x[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); - alphax[33] = (0.5590169943749476*dualcurlbhatoverB_x[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); - alphax[35] = (0.5590169943749476*hamil2[1]*dualcurlbhatoverB_x[3]*rdx2)/(m_*q_*vmap2); - alphax[38] = (0.5590169943749475*hamil2[1]*dualcurlbhatoverB_x[5]*rdx2)/(m_*q_*vmap2); + alphax[0] = (rdx2*((0.625*dualcurlbhatoverB_1[0]*hamil2[1])/vmap2+(0.125*dualcurlbhatoverB_1[0]*hamil2[0])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_2[1]*hamil[7]+0.6123724356957944*bioverJB_2[0]*hamil[3])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_3[5]*hamil[16])-0.6123724356957944*bioverJB_3[3]*hamil[8]-0.6123724356957944*bioverJB_3[1]*hamil[6]-0.6123724356957944*bioverJB_3[0]*hamil[2])*rdx2*rdy2)/q_; + alphax[1] = (rdx2*((0.625*dualcurlbhatoverB_1[1]*hamil2[1])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_1[1])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_2[0]*hamil[7]+0.6123724356957944*bioverJB_2[1]*hamil[3])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_3[3]*hamil[16])-0.6123724356957944*bioverJB_3[5]*hamil[8]-0.6123724356957944*bioverJB_3[0]*hamil[6]-0.6123724356957944*bioverJB_3[1]*hamil[2])*rdx2*rdy2)/q_; + alphax[2] = ((0.6123724356957944*bioverJB_2[1]*hamil[16]+0.6123724356957944*bioverJB_2[0]*hamil[8])*rdx2*rdz2)/q_; + alphax[3] = (rdx2*((0.625*hamil2[1]*dualcurlbhatoverB_1[3])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_1[3])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_2[5]*hamil[7]+0.6123724356957944*bioverJB_2[3]*hamil[3])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_3[1]*hamil[16])-0.6123724356957944*bioverJB_3[0]*hamil[8]-0.6123724356957944*bioverJB_3[5]*hamil[6]-0.6123724356957944*hamil[2]*bioverJB_3[3])*rdx2*rdy2)/q_; + alphax[4] = (0.5590169943749475*dualcurlbhatoverB_1[0]*hamil[4]*hamil[32]*rdx2)/(m_*q_*vmap2); + alphax[5] = ((0.6123724356957944*bioverJB_2[1]*hamil[21]+0.6123724356957944*bioverJB_2[0]*hamil[14])*rdx2*rdz2)/q_; + alphax[6] = ((0.6123724356957944*bioverJB_2[0]*hamil[16]+0.6123724356957944*bioverJB_2[1]*hamil[8])*rdx2*rdz2)/q_; + alphax[7] = (rdx2*((0.625*hamil2[1]*dualcurlbhatoverB_1[5])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_1[5])/vmap2))/(m_*q_)+((0.6123724356957944*bioverJB_2[3]*hamil[7]+0.6123724356957944*hamil[3]*bioverJB_2[5])*rdx2*rdz2+(-(0.6123724356957944*bioverJB_3[0]*hamil[16])-0.6123724356957944*bioverJB_3[1]*hamil[8]-0.6123724356957944*bioverJB_3[3]*hamil[6]-0.6123724356957944*hamil[2]*bioverJB_3[5])*rdx2*rdy2)/q_; + alphax[8] = ((0.6123724356957944*bioverJB_2[5]*hamil[16]+0.6123724356957944*bioverJB_2[3]*hamil[8])*rdx2*rdz2)/q_; + alphax[9] = (0.5590169943749475*dualcurlbhatoverB_1[1]*hamil[4]*hamil[32]*rdx2)/(m_*q_*vmap2); + alphax[11] = (0.5590169943749475*dualcurlbhatoverB_1[3]*hamil[4]*hamil[32]*rdx2)/(m_*q_*vmap2); + alphax[12] = ((0.6123724356957944*bioverJB_2[0]*hamil[21]+0.6123724356957944*bioverJB_2[1]*hamil[14])*rdx2*rdz2)/q_; + alphax[14] = ((0.6123724356957944*bioverJB_2[5]*hamil[21]+0.6123724356957944*bioverJB_2[3]*hamil[14])*rdx2*rdz2)/q_; + alphax[16] = ((0.6123724356957944*bioverJB_2[3]*hamil[16]+0.6123724356957944*bioverJB_2[5]*hamil[8])*rdx2*rdz2)/q_; + alphax[18] = (0.5590169943749475*hamil[4]*dualcurlbhatoverB_1[5]*hamil[32]*rdx2)/(m_*q_*vmap2); + alphax[21] = ((0.6123724356957944*bioverJB_2[3]*hamil[21]+0.6123724356957944*bioverJB_2[5]*hamil[14])*rdx2*rdz2)/q_; + alphax[32] = (0.5590169943749475*dualcurlbhatoverB_1[0]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[33] = (0.5590169943749476*dualcurlbhatoverB_1[1]*hamil2[1]*rdx2)/(m_*q_*vmap2); + alphax[35] = (0.5590169943749476*hamil2[1]*dualcurlbhatoverB_1[3]*rdx2)/(m_*q_*vmap2); + alphax[38] = (0.5590169943749475*hamil2[1]*dualcurlbhatoverB_1[5]*rdx2)/(m_*q_*vmap2); out[1] += 0.3061862178478971*(alphax[38]*fin[38]+alphax[35]*fin[35]+alphax[33]*fin[33]+alphax[32]*fin[32]+alphax[21]*fin[21]+alphax[18]*fin[18]+alphax[16]*fin[16]+alphax[14]*fin[14]+alphax[12]*fin[12]+alphax[11]*fin[11]+alphax[9]*fin[9]+alphax[8]*fin[8]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[4]*fin[4]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -102,26 +102,26 @@ GKYL_CU_DH double dg_gyrokinetic_vol_3x2v_ser_p1(const double *w, const double * out[47] += (0.19561519910898784*alphax[33]+0.3061862178478971*alphax[1])*fin[47]+0.19561519910898784*alphax[32]*fin[46]+0.3061862178478971*(alphax[0]*fin[46]+alphax[6]*fin[45])+0.19561519910898784*alphax[38]*fin[44]+0.3061862178478971*(alphax[7]*fin[44]+alphax[12]*fin[43]+alphax[2]*fin[42])+0.19561519910898784*alphax[35]*fin[41]+0.3061862178478971*(alphax[3]*fin[41]+alphax[16]*fin[40]+alphax[5]*fin[39]+fin[20]*alphax[38]+alphax[21]*fin[37]+alphax[8]*fin[36]+fin[13]*alphax[35]+alphax[14]*fin[34]+fin[27]*alphax[33]+fin[22]*alphax[32])+0.273861278752583*(alphax[9]*fin[31]+alphax[4]*fin[30]+alphax[18]*fin[28]+alphax[11]*fin[24]); double alphay[48] = {0.}; - alphay[0] = (rdy2*((0.625*dualcurlbhatoverB_y[0]*hamil2[1])/vmap2+(0.125*dualcurlbhatoverB_y[0]*hamil2[0])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_x[1]*hamil[7])-0.6123724356957944*bioverJB_x[0]*hamil[3])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[3]*hamil[7]+0.6123724356957944*bioverJB_z[0]*hamil[1])*rdx2*rdy2)/q_; - alphay[1] = (rdy2*((0.625*dualcurlbhatoverB_y[1]*hamil2[1])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_y[1])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_x[0]*hamil[7])-0.6123724356957944*bioverJB_x[1]*hamil[3])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[5]*hamil[7]+0.6123724356957944*bioverJB_z[1]*hamil[1])*rdx2*rdy2)/q_; - alphay[2] = ((-(0.6123724356957944*bioverJB_x[1]*hamil[16])-0.6123724356957944*bioverJB_x[0]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[3]*hamil[16]+0.6123724356957944*bioverJB_z[0]*hamil[6])*rdx2*rdy2)/q_; - alphay[3] = (rdy2*((0.625*hamil2[1]*dualcurlbhatoverB_y[3])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_y[3])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_x[5]*hamil[7])-0.6123724356957944*bioverJB_x[3]*hamil[3])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[0]*hamil[7]+0.6123724356957944*hamil[1]*bioverJB_z[3])*rdx2*rdy2)/q_; - alphay[4] = (0.5590169943749475*dualcurlbhatoverB_y[0]*hamil[4]*hamil[32]*rdy2)/(m_*q_*vmap2); - alphay[5] = ((-(0.6123724356957944*bioverJB_x[1]*hamil[21])-0.6123724356957944*bioverJB_x[0]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[3]*hamil[21]+0.6123724356957944*bioverJB_z[0]*hamil[12])*rdx2*rdy2)/q_; - alphay[6] = ((-(0.6123724356957944*bioverJB_x[0]*hamil[16])-0.6123724356957944*bioverJB_x[1]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[5]*hamil[16]+0.6123724356957944*bioverJB_z[1]*hamil[6])*rdx2*rdy2)/q_; - alphay[7] = (rdy2*((0.625*hamil2[1]*dualcurlbhatoverB_y[5])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_y[5])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_x[3]*hamil[7])-0.6123724356957944*hamil[3]*bioverJB_x[5])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[1]*hamil[7]+0.6123724356957944*hamil[1]*bioverJB_z[5])*rdx2*rdy2)/q_; - alphay[8] = ((-(0.6123724356957944*bioverJB_x[5]*hamil[16])-0.6123724356957944*bioverJB_x[3]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[0]*hamil[16]+0.6123724356957944*bioverJB_z[3]*hamil[6])*rdx2*rdy2)/q_; - alphay[9] = (0.5590169943749475*dualcurlbhatoverB_y[1]*hamil[4]*hamil[32]*rdy2)/(m_*q_*vmap2); - alphay[11] = (0.5590169943749475*dualcurlbhatoverB_y[3]*hamil[4]*hamil[32]*rdy2)/(m_*q_*vmap2); - alphay[12] = ((-(0.6123724356957944*bioverJB_x[0]*hamil[21])-0.6123724356957944*bioverJB_x[1]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[5]*hamil[21]+0.6123724356957944*bioverJB_z[1]*hamil[12])*rdx2*rdy2)/q_; - alphay[14] = ((-(0.6123724356957944*bioverJB_x[5]*hamil[21])-0.6123724356957944*bioverJB_x[3]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[0]*hamil[21]+0.6123724356957944*bioverJB_z[3]*hamil[12])*rdx2*rdy2)/q_; - alphay[16] = ((-(0.6123724356957944*bioverJB_x[3]*hamil[16])-0.6123724356957944*bioverJB_x[5]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[1]*hamil[16]+0.6123724356957944*bioverJB_z[5]*hamil[6])*rdx2*rdy2)/q_; - alphay[18] = (0.5590169943749475*hamil[4]*dualcurlbhatoverB_y[5]*hamil[32]*rdy2)/(m_*q_*vmap2); - alphay[21] = ((-(0.6123724356957944*bioverJB_x[3]*hamil[21])-0.6123724356957944*bioverJB_x[5]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_z[1]*hamil[21]+0.6123724356957944*bioverJB_z[5]*hamil[12])*rdx2*rdy2)/q_; - alphay[32] = (0.5590169943749475*dualcurlbhatoverB_y[0]*hamil2[1]*rdy2)/(m_*q_*vmap2); - alphay[33] = (0.5590169943749476*dualcurlbhatoverB_y[1]*hamil2[1]*rdy2)/(m_*q_*vmap2); - alphay[35] = (0.5590169943749476*hamil2[1]*dualcurlbhatoverB_y[3]*rdy2)/(m_*q_*vmap2); - alphay[38] = (0.5590169943749475*hamil2[1]*dualcurlbhatoverB_y[5]*rdy2)/(m_*q_*vmap2); + alphay[0] = (rdy2*((0.625*dualcurlbhatoverB_2[0]*hamil2[1])/vmap2+(0.125*dualcurlbhatoverB_2[0]*hamil2[0])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_1[1]*hamil[7])-0.6123724356957944*bioverJB_1[0]*hamil[3])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[3]*hamil[7]+0.6123724356957944*bioverJB_3[0]*hamil[1])*rdx2*rdy2)/q_; + alphay[1] = (rdy2*((0.625*dualcurlbhatoverB_2[1]*hamil2[1])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_2[1])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_1[0]*hamil[7])-0.6123724356957944*bioverJB_1[1]*hamil[3])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[5]*hamil[7]+0.6123724356957944*bioverJB_3[1]*hamil[1])*rdx2*rdy2)/q_; + alphay[2] = ((-(0.6123724356957944*bioverJB_1[1]*hamil[16])-0.6123724356957944*bioverJB_1[0]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[3]*hamil[16]+0.6123724356957944*bioverJB_3[0]*hamil[6])*rdx2*rdy2)/q_; + alphay[3] = (rdy2*((0.625*hamil2[1]*dualcurlbhatoverB_2[3])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_2[3])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_1[5]*hamil[7])-0.6123724356957944*bioverJB_1[3]*hamil[3])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[0]*hamil[7]+0.6123724356957944*hamil[1]*bioverJB_3[3])*rdx2*rdy2)/q_; + alphay[4] = (0.5590169943749475*dualcurlbhatoverB_2[0]*hamil[4]*hamil[32]*rdy2)/(m_*q_*vmap2); + alphay[5] = ((-(0.6123724356957944*bioverJB_1[1]*hamil[21])-0.6123724356957944*bioverJB_1[0]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[3]*hamil[21]+0.6123724356957944*bioverJB_3[0]*hamil[12])*rdx2*rdy2)/q_; + alphay[6] = ((-(0.6123724356957944*bioverJB_1[0]*hamil[16])-0.6123724356957944*bioverJB_1[1]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[5]*hamil[16]+0.6123724356957944*bioverJB_3[1]*hamil[6])*rdx2*rdy2)/q_; + alphay[7] = (rdy2*((0.625*hamil2[1]*dualcurlbhatoverB_2[5])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_2[5])/vmap2))/(m_*q_)+((-(0.6123724356957944*bioverJB_1[3]*hamil[7])-0.6123724356957944*hamil[3]*bioverJB_1[5])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[1]*hamil[7]+0.6123724356957944*hamil[1]*bioverJB_3[5])*rdx2*rdy2)/q_; + alphay[8] = ((-(0.6123724356957944*bioverJB_1[5]*hamil[16])-0.6123724356957944*bioverJB_1[3]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[0]*hamil[16]+0.6123724356957944*bioverJB_3[3]*hamil[6])*rdx2*rdy2)/q_; + alphay[9] = (0.5590169943749475*dualcurlbhatoverB_2[1]*hamil[4]*hamil[32]*rdy2)/(m_*q_*vmap2); + alphay[11] = (0.5590169943749475*dualcurlbhatoverB_2[3]*hamil[4]*hamil[32]*rdy2)/(m_*q_*vmap2); + alphay[12] = ((-(0.6123724356957944*bioverJB_1[0]*hamil[21])-0.6123724356957944*bioverJB_1[1]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[5]*hamil[21]+0.6123724356957944*bioverJB_3[1]*hamil[12])*rdx2*rdy2)/q_; + alphay[14] = ((-(0.6123724356957944*bioverJB_1[5]*hamil[21])-0.6123724356957944*bioverJB_1[3]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[0]*hamil[21]+0.6123724356957944*bioverJB_3[3]*hamil[12])*rdx2*rdy2)/q_; + alphay[16] = ((-(0.6123724356957944*bioverJB_1[3]*hamil[16])-0.6123724356957944*bioverJB_1[5]*hamil[8])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[1]*hamil[16]+0.6123724356957944*bioverJB_3[5]*hamil[6])*rdx2*rdy2)/q_; + alphay[18] = (0.5590169943749475*hamil[4]*dualcurlbhatoverB_2[5]*hamil[32]*rdy2)/(m_*q_*vmap2); + alphay[21] = ((-(0.6123724356957944*bioverJB_1[3]*hamil[21])-0.6123724356957944*bioverJB_1[5]*hamil[14])*rdy2*rdz2+(0.6123724356957944*bioverJB_3[1]*hamil[21]+0.6123724356957944*bioverJB_3[5]*hamil[12])*rdx2*rdy2)/q_; + alphay[32] = (0.5590169943749475*dualcurlbhatoverB_2[0]*hamil2[1]*rdy2)/(m_*q_*vmap2); + alphay[33] = (0.5590169943749476*dualcurlbhatoverB_2[1]*hamil2[1]*rdy2)/(m_*q_*vmap2); + alphay[35] = (0.5590169943749476*hamil2[1]*dualcurlbhatoverB_2[3]*rdy2)/(m_*q_*vmap2); + alphay[38] = (0.5590169943749475*hamil2[1]*dualcurlbhatoverB_2[5]*rdy2)/(m_*q_*vmap2); out[2] += 0.3061862178478971*(alphay[38]*fin[38]+alphay[35]*fin[35]+alphay[33]*fin[33]+alphay[32]*fin[32]+alphay[21]*fin[21]+alphay[18]*fin[18]+alphay[16]*fin[16]+alphay[14]*fin[14]+alphay[12]*fin[12]+alphay[11]*fin[11]+alphay[9]*fin[9]+alphay[8]*fin[8]+alphay[7]*fin[7]+alphay[6]*fin[6]+alphay[5]*fin[5]+alphay[4]*fin[4]+alphay[3]*fin[3]+alphay[2]*fin[2]+alphay[1]*fin[1]+alphay[0]*fin[0]); @@ -150,26 +150,26 @@ GKYL_CU_DH double dg_gyrokinetic_vol_3x2v_ser_p1(const double *w, const double * out[47] += 0.3061862178478971*(alphay[2]*fin[47]+alphay[6]*fin[46])+0.19561519910898784*alphay[32]*fin[45]+0.3061862178478971*(alphay[0]*fin[45]+alphay[8]*fin[44])+0.19561519910898784*alphay[33]*fin[42]+0.3061862178478971*(alphay[1]*fin[42]+alphay[16]*fin[41])+0.19561519910898784*alphay[35]*fin[40]+0.3061862178478971*(alphay[3]*fin[40]+alphay[5]*fin[38])+0.19561519910898784*fin[36]*alphay[38]+0.3061862178478971*(fin[5]*alphay[38]+alphay[7]*fin[36]+alphay[12]*fin[35]+fin[12]*alphay[35]+alphay[14]*fin[33]+fin[14]*alphay[33]+alphay[21]*fin[32]+fin[21]*alphay[32])+0.273861278752583*(alphay[4]*fin[29]+alphay[9]*fin[25]+alphay[11]*fin[23]+fin[15]*alphay[18]); double alphaz[48] = {0.}; - alphaz[0] = (rdz2*((0.625*dualcurlbhatoverB_z[0]*hamil2[1])/vmap2+(0.125*dualcurlbhatoverB_z[0]*hamil2[0])/vmap2))/(m_*q_)+(0.5*rtg33inv[0]*vmap[1]*hamil[4]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_x[5]*hamil[16]+0.6123724356957944*bioverJB_x[3]*hamil[8]+0.6123724356957944*bioverJB_x[1]*hamil[6]+0.6123724356957944*bioverJB_x[0]*hamil[2])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_y[3]*hamil[7])-0.6123724356957944*bioverJB_y[0]*hamil[1])*rdx2*rdz2)/q_; - alphaz[1] = (rdz2*((0.625*dualcurlbhatoverB_z[1]*hamil2[1])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_z[1])/vmap2))/(m_*q_)+(0.5*rtg33inv[1]*vmap[1]*hamil[4]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_x[3]*hamil[16]+0.6123724356957944*bioverJB_x[5]*hamil[8]+0.6123724356957944*bioverJB_x[0]*hamil[6]+0.6123724356957944*bioverJB_x[1]*hamil[2])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_y[5]*hamil[7])-0.6123724356957944*bioverJB_y[1]*hamil[1])*rdx2*rdz2)/q_; - alphaz[2] = ((-(0.6123724356957944*bioverJB_y[3]*hamil[16])-0.6123724356957944*bioverJB_y[0]*hamil[6])*rdx2*rdz2)/q_; - alphaz[3] = (rdz2*((0.625*hamil2[1]*dualcurlbhatoverB_z[3])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_z[3])/vmap2))/(m_*q_)+(0.5*vmap[1]*rtg33inv[3]*hamil[4]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_x[1]*hamil[16]+0.6123724356957944*bioverJB_x[0]*hamil[8]+0.6123724356957944*bioverJB_x[5]*hamil[6]+0.6123724356957944*hamil[2]*bioverJB_x[3])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_y[0]*hamil[7])-0.6123724356957944*hamil[1]*bioverJB_y[3])*rdx2*rdz2)/q_; - alphaz[4] = (0.5590169943749475*dualcurlbhatoverB_z[0]*hamil[4]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*rtg33inv[0]*vmap[1]*hamil[32]*rdz2)/(m_*vmap2); - alphaz[5] = ((-(0.6123724356957944*bioverJB_y[3]*hamil[21])-0.6123724356957944*bioverJB_y[0]*hamil[12])*rdx2*rdz2)/q_; - alphaz[6] = ((-(0.6123724356957944*bioverJB_y[5]*hamil[16])-0.6123724356957944*bioverJB_y[1]*hamil[6])*rdx2*rdz2)/q_; - alphaz[7] = (rdz2*((0.625*hamil2[1]*dualcurlbhatoverB_z[5])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_z[5])/vmap2))/(m_*q_)+(0.5*vmap[1]*hamil[4]*rtg33inv[5]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_x[0]*hamil[16]+0.6123724356957944*bioverJB_x[1]*hamil[8]+0.6123724356957944*bioverJB_x[3]*hamil[6]+0.6123724356957944*hamil[2]*bioverJB_x[5])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_y[1]*hamil[7])-0.6123724356957944*hamil[1]*bioverJB_y[5])*rdx2*rdz2)/q_; - alphaz[8] = ((-(0.6123724356957944*bioverJB_y[0]*hamil[16])-0.6123724356957944*bioverJB_y[3]*hamil[6])*rdx2*rdz2)/q_; - alphaz[9] = (0.5590169943749475*dualcurlbhatoverB_z[1]*hamil[4]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*rtg33inv[1]*vmap[1]*hamil[32]*rdz2)/(m_*vmap2); - alphaz[11] = (0.5590169943749475*dualcurlbhatoverB_z[3]*hamil[4]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*vmap[1]*rtg33inv[3]*hamil[32]*rdz2)/(m_*vmap2); - alphaz[12] = ((-(0.6123724356957944*bioverJB_y[5]*hamil[21])-0.6123724356957944*bioverJB_y[1]*hamil[12])*rdx2*rdz2)/q_; - alphaz[14] = ((-(0.6123724356957944*bioverJB_y[0]*hamil[21])-0.6123724356957944*bioverJB_y[3]*hamil[12])*rdx2*rdz2)/q_; - alphaz[16] = ((-(0.6123724356957944*bioverJB_y[1]*hamil[16])-0.6123724356957944*bioverJB_y[5]*hamil[6])*rdx2*rdz2)/q_; - alphaz[18] = (0.5590169943749475*hamil[4]*dualcurlbhatoverB_z[5]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*vmap[1]*rtg33inv[5]*hamil[32]*rdz2)/(m_*vmap2); - alphaz[21] = ((-(0.6123724356957944*bioverJB_y[1]*hamil[21])-0.6123724356957944*bioverJB_y[5]*hamil[12])*rdx2*rdz2)/q_; - alphaz[32] = (0.5590169943749475*dualcurlbhatoverB_z[0]*hamil2[1]*rdz2)/(m_*q_*vmap2); - alphaz[33] = (0.5590169943749476*dualcurlbhatoverB_z[1]*hamil2[1]*rdz2)/(m_*q_*vmap2); - alphaz[35] = (0.5590169943749476*hamil2[1]*dualcurlbhatoverB_z[3]*rdz2)/(m_*q_*vmap2); - alphaz[38] = (0.5590169943749475*hamil2[1]*dualcurlbhatoverB_z[5]*rdz2)/(m_*q_*vmap2); + alphaz[0] = (rdz2*((0.625*dualcurlbhatoverB_3[0]*hamil2[1])/vmap2+(0.125*dualcurlbhatoverB_3[0]*hamil2[0])/vmap2))/(m_*q_)+(0.5*rtg33inv[0]*vmap[1]*hamil[4]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_1[5]*hamil[16]+0.6123724356957944*bioverJB_1[3]*hamil[8]+0.6123724356957944*bioverJB_1[1]*hamil[6]+0.6123724356957944*bioverJB_1[0]*hamil[2])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_2[3]*hamil[7])-0.6123724356957944*bioverJB_2[0]*hamil[1])*rdx2*rdz2)/q_; + alphaz[1] = (rdz2*((0.625*dualcurlbhatoverB_3[1]*hamil2[1])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_3[1])/vmap2))/(m_*q_)+(0.5*rtg33inv[1]*vmap[1]*hamil[4]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_1[3]*hamil[16]+0.6123724356957944*bioverJB_1[5]*hamil[8]+0.6123724356957944*bioverJB_1[0]*hamil[6]+0.6123724356957944*bioverJB_1[1]*hamil[2])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_2[5]*hamil[7])-0.6123724356957944*bioverJB_2[1]*hamil[1])*rdx2*rdz2)/q_; + alphaz[2] = ((-(0.6123724356957944*bioverJB_2[3]*hamil[16])-0.6123724356957944*bioverJB_2[0]*hamil[6])*rdx2*rdz2)/q_; + alphaz[3] = (rdz2*((0.625*hamil2[1]*dualcurlbhatoverB_3[3])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_3[3])/vmap2))/(m_*q_)+(0.5*vmap[1]*rtg33inv[3]*hamil[4]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_1[1]*hamil[16]+0.6123724356957944*bioverJB_1[0]*hamil[8]+0.6123724356957944*bioverJB_1[5]*hamil[6]+0.6123724356957944*hamil[2]*bioverJB_1[3])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_2[0]*hamil[7])-0.6123724356957944*hamil[1]*bioverJB_2[3])*rdx2*rdz2)/q_; + alphaz[4] = (0.5590169943749475*dualcurlbhatoverB_3[0]*hamil[4]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*rtg33inv[0]*vmap[1]*hamil[32]*rdz2)/(m_*vmap2); + alphaz[5] = ((-(0.6123724356957944*bioverJB_2[3]*hamil[21])-0.6123724356957944*bioverJB_2[0]*hamil[12])*rdx2*rdz2)/q_; + alphaz[6] = ((-(0.6123724356957944*bioverJB_2[5]*hamil[16])-0.6123724356957944*bioverJB_2[1]*hamil[6])*rdx2*rdz2)/q_; + alphaz[7] = (rdz2*((0.625*hamil2[1]*dualcurlbhatoverB_3[5])/vmap2+(0.125*hamil2[0]*dualcurlbhatoverB_3[5])/vmap2))/(m_*q_)+(0.5*vmap[1]*hamil[4]*rtg33inv[5]*rdz2)/(m_*vmap2)+((0.6123724356957944*bioverJB_1[0]*hamil[16]+0.6123724356957944*bioverJB_1[1]*hamil[8]+0.6123724356957944*bioverJB_1[3]*hamil[6]+0.6123724356957944*hamil[2]*bioverJB_1[5])*rdy2*rdz2+(-(0.6123724356957944*bioverJB_2[1]*hamil[7])-0.6123724356957944*hamil[1]*bioverJB_2[5])*rdx2*rdz2)/q_; + alphaz[8] = ((-(0.6123724356957944*bioverJB_2[0]*hamil[16])-0.6123724356957944*bioverJB_2[3]*hamil[6])*rdx2*rdz2)/q_; + alphaz[9] = (0.5590169943749475*dualcurlbhatoverB_3[1]*hamil[4]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*rtg33inv[1]*vmap[1]*hamil[32]*rdz2)/(m_*vmap2); + alphaz[11] = (0.5590169943749475*dualcurlbhatoverB_3[3]*hamil[4]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*vmap[1]*rtg33inv[3]*hamil[32]*rdz2)/(m_*vmap2); + alphaz[12] = ((-(0.6123724356957944*bioverJB_2[5]*hamil[21])-0.6123724356957944*bioverJB_2[1]*hamil[12])*rdx2*rdz2)/q_; + alphaz[14] = ((-(0.6123724356957944*bioverJB_2[0]*hamil[21])-0.6123724356957944*bioverJB_2[3]*hamil[12])*rdx2*rdz2)/q_; + alphaz[16] = ((-(0.6123724356957944*bioverJB_2[1]*hamil[16])-0.6123724356957944*bioverJB_2[5]*hamil[6])*rdx2*rdz2)/q_; + alphaz[18] = (0.5590169943749475*hamil[4]*dualcurlbhatoverB_3[5]*hamil[32]*rdz2)/(m_*q_*vmap2)+(1.118033988749895*vmap[1]*rtg33inv[5]*hamil[32]*rdz2)/(m_*vmap2); + alphaz[21] = ((-(0.6123724356957944*bioverJB_2[1]*hamil[21])-0.6123724356957944*bioverJB_2[5]*hamil[12])*rdx2*rdz2)/q_; + alphaz[32] = (0.5590169943749475*dualcurlbhatoverB_3[0]*hamil2[1]*rdz2)/(m_*q_*vmap2); + alphaz[33] = (0.5590169943749476*dualcurlbhatoverB_3[1]*hamil2[1]*rdz2)/(m_*q_*vmap2); + alphaz[35] = (0.5590169943749476*hamil2[1]*dualcurlbhatoverB_3[3]*rdz2)/(m_*q_*vmap2); + alphaz[38] = (0.5590169943749475*hamil2[1]*dualcurlbhatoverB_3[5]*rdz2)/(m_*q_*vmap2); out[3] += 0.3061862178478971*(alphaz[38]*fin[38]+alphaz[35]*fin[35]+alphaz[33]*fin[33]+alphaz[32]*fin[32]+alphaz[21]*fin[21]+alphaz[18]*fin[18]+alphaz[16]*fin[16]+alphaz[14]*fin[14]+alphaz[12]*fin[12]+alphaz[11]*fin[11]+alphaz[9]*fin[9]+alphaz[8]*fin[8]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[4]*fin[4]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -198,30 +198,30 @@ GKYL_CU_DH double dg_gyrokinetic_vol_3x2v_ser_p1(const double *w, const double * out[47] += (0.19561519910898784*alphaz[35]+0.3061862178478971*alphaz[3])*fin[47]+0.19561519910898784*alphaz[38]*fin[46]+0.3061862178478971*(alphaz[7]*fin[46]+alphaz[8]*fin[45])+0.19561519910898784*alphaz[32]*fin[44]+0.3061862178478971*(alphaz[0]*fin[44]+alphaz[14]*fin[43]+alphaz[16]*fin[42])+0.19561519910898784*alphaz[33]*fin[41]+0.3061862178478971*(alphaz[1]*fin[41]+alphaz[2]*fin[40]+alphaz[21]*fin[39]+fin[22]*alphaz[38]+alphaz[5]*fin[37]+alphaz[6]*fin[36]+fin[27]*alphaz[35]+alphaz[12]*fin[34]+fin[13]*alphaz[33]+fin[20]*alphaz[32])+0.273861278752583*(alphaz[11]*fin[31]+alphaz[18]*fin[30]+alphaz[4]*fin[28]+alphaz[9]*fin[24]); double alphavpar[48] = {0.}; - alphavpar[0] = (rdy2*(-((0.125*hamil[4]*dualcurlbhatoverB_y[5]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_y[3]*hamil[4]*hamil[8])/vmap2-(0.125*dualcurlbhatoverB_y[1]*hamil[4]*hamil[6])/vmap2-(0.125*dualcurlbhatoverB_y[0]*hamil[2]*hamil[4])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_x[3]*hamil[4]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_x[0]*hamil[1]*hamil[4])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_z[1]*hamil[4]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_z[0]*hamil[3]*hamil[4])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[1]*hamil[7])/vmap2)-(0.5*rtg33inv[0]*hamil[3])/vmap2))/m_; - alphavpar[1] = (rdy2*(-((0.125*dualcurlbhatoverB_y[3]*hamil[4]*hamil[16])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_y[5]*hamil[8])/vmap2-(0.125*dualcurlbhatoverB_y[0]*hamil[4]*hamil[6])/vmap2-(0.125*dualcurlbhatoverB_y[1]*hamil[2]*hamil[4])/vmap2)+rdx2*(-((0.125*hamil[4]*dualcurlbhatoverB_x[5]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_x[1]*hamil[1]*hamil[4])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_z[0]*hamil[4]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_z[1]*hamil[3]*hamil[4])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[0]*hamil[7])/vmap2)-(0.5*rtg33inv[1]*hamil[3])/vmap2))/m_; - alphavpar[2] = (rdx2*(-((0.125*dualcurlbhatoverB_x[3]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_x[0]*hamil[4]*hamil[6])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_z[1]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_z[0]*hamil[4]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[1]*hamil[16])/vmap2)-(0.5*rtg33inv[0]*hamil[8])/vmap2))/m_; - alphavpar[3] = (rdy2*(-((0.125*dualcurlbhatoverB_y[1]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_y[0]*hamil[4]*hamil[8])/vmap2-(0.125*hamil[4]*dualcurlbhatoverB_y[5]*hamil[6])/vmap2-(0.125*hamil[2]*dualcurlbhatoverB_y[3]*hamil[4])/vmap2)+rdz2*(-((0.125*hamil[4]*dualcurlbhatoverB_z[5]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_z[3]*hamil[3]*hamil[4])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_x[0]*hamil[4]*hamil[7])/vmap2)-(0.125*hamil[1]*dualcurlbhatoverB_x[3]*hamil[4])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[5]*hamil[7])/vmap2)-(0.5*hamil[3]*rtg33inv[3])/vmap2))/m_; - alphavpar[4] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_y[5]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_y[3]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_y[1]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_y[0]*hamil[2]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[3]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[0]*hamil[1]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[1]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[0]*hamil[3]*hamil[32])/vmap2))/(m_*q_); - alphavpar[5] = (rdx2*(-((0.125*dualcurlbhatoverB_x[3]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_x[0]*hamil[4]*hamil[12])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_z[1]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_z[0]*hamil[4]*hamil[14])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[1]*hamil[21])/vmap2)-(0.5*rtg33inv[0]*hamil[14])/vmap2))/m_; - alphavpar[6] = (rdx2*(-((0.125*hamil[4]*dualcurlbhatoverB_x[5]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_x[1]*hamil[4]*hamil[6])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_z[0]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_z[1]*hamil[4]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[0]*hamil[16])/vmap2)-(0.5*rtg33inv[1]*hamil[8])/vmap2))/m_; - alphavpar[7] = (rdy2*(-((0.125*dualcurlbhatoverB_y[0]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_y[1]*hamil[4]*hamil[8])/vmap2-(0.125*dualcurlbhatoverB_y[3]*hamil[4]*hamil[6])/vmap2-(0.125*hamil[2]*hamil[4]*dualcurlbhatoverB_y[5])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_z[3]*hamil[4]*hamil[7])/vmap2)-(0.125*hamil[3]*hamil[4]*dualcurlbhatoverB_z[5])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_x[1]*hamil[4]*hamil[7])/vmap2)-(0.125*hamil[1]*hamil[4]*dualcurlbhatoverB_x[5])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[3]*hamil[7])/vmap2)-(0.5*hamil[3]*rtg33inv[5])/vmap2))/m_; - alphavpar[8] = (rdz2*(-((0.125*hamil[4]*dualcurlbhatoverB_z[5]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_z[3]*hamil[4]*hamil[8])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_x[0]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_x[3]*hamil[4]*hamil[6])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[5]*hamil[16])/vmap2)-(0.5*rtg33inv[3]*hamil[8])/vmap2))/m_; - alphavpar[9] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_y[3]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_y[5]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_y[0]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_y[1]*hamil[2]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[5]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[1]*hamil[1]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[0]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[1]*hamil[3]*hamil[32])/vmap2))/(m_*q_); - alphavpar[10] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[3]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[0]*hamil[6]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[1]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[0]*hamil[8]*hamil[32])/vmap2))/(m_*q_); - alphavpar[11] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_y[1]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_y[0]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_y[5]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*hamil[2]*dualcurlbhatoverB_y[3]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[5]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[3]*hamil[3]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[0]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*hamil[1]*dualcurlbhatoverB_x[3]*hamil[32])/vmap2))/(m_*q_); - alphavpar[12] = (rdx2*(-((0.125*hamil[4]*dualcurlbhatoverB_x[5]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_x[1]*hamil[4]*hamil[12])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_z[0]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_z[1]*hamil[4]*hamil[14])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[0]*hamil[21])/vmap2)-(0.5*rtg33inv[1]*hamil[14])/vmap2))/m_; - alphavpar[14] = (rdz2*(-((0.125*hamil[4]*dualcurlbhatoverB_z[5]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_z[3]*hamil[4]*hamil[14])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_x[0]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_x[3]*hamil[4]*hamil[12])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[5]*hamil[21])/vmap2)-(0.5*rtg33inv[3]*hamil[14])/vmap2))/m_; - alphavpar[15] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[3]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[0]*hamil[12]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[1]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[0]*hamil[14]*hamil[32])/vmap2))/(m_*q_); - alphavpar[16] = (rdz2*(-((0.125*dualcurlbhatoverB_z[3]*hamil[4]*hamil[16])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_z[5]*hamil[8])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_x[1]*hamil[4]*hamil[16])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_x[5]*hamil[6])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[3]*hamil[16])/vmap2)-(0.5*rtg33inv[5]*hamil[8])/vmap2))/m_; - alphavpar[17] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[5]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[1]*hamil[6]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[0]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[1]*hamil[8]*hamil[32])/vmap2))/(m_*q_); - alphavpar[18] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_y[0]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_y[1]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_y[3]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*hamil[2]*dualcurlbhatoverB_y[5]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[3]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*hamil[3]*dualcurlbhatoverB_z[5]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[1]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*hamil[1]*dualcurlbhatoverB_x[5]*hamil[32])/vmap2))/(m_*q_); - alphavpar[19] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[5]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[3]*hamil[8]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[0]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[3]*hamil[6]*hamil[32])/vmap2))/(m_*q_); - alphavpar[21] = (rdz2*(-((0.125*dualcurlbhatoverB_z[3]*hamil[4]*hamil[21])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_z[5]*hamil[14])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_x[1]*hamil[4]*hamil[21])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_x[5]*hamil[12])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[3]*hamil[21])/vmap2)-(0.5*rtg33inv[5]*hamil[14])/vmap2))/m_; - alphavpar[23] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[5]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[1]*hamil[12]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[0]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[1]*hamil[14]*hamil[32])/vmap2))/(m_*q_); - alphavpar[25] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[5]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[3]*hamil[14]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[0]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[3]*hamil[12]*hamil[32])/vmap2))/(m_*q_); - alphavpar[26] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[3]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[5]*hamil[8]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[1]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[5]*hamil[6]*hamil[32])/vmap2))/(m_*q_); - alphavpar[29] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_z[3]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_z[5]*hamil[14]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_x[1]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_x[5]*hamil[12]*hamil[32])/vmap2))/(m_*q_); + alphavpar[0] = (rdy2*(-((0.125*hamil[4]*dualcurlbhatoverB_2[5]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_2[3]*hamil[4]*hamil[8])/vmap2-(0.125*dualcurlbhatoverB_2[1]*hamil[4]*hamil[6])/vmap2-(0.125*dualcurlbhatoverB_2[0]*hamil[2]*hamil[4])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_1[3]*hamil[4]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_1[0]*hamil[1]*hamil[4])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_3[1]*hamil[4]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_3[0]*hamil[3]*hamil[4])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[1]*hamil[7])/vmap2)-(0.5*rtg33inv[0]*hamil[3])/vmap2))/m_; + alphavpar[1] = (rdy2*(-((0.125*dualcurlbhatoverB_2[3]*hamil[4]*hamil[16])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_2[5]*hamil[8])/vmap2-(0.125*dualcurlbhatoverB_2[0]*hamil[4]*hamil[6])/vmap2-(0.125*dualcurlbhatoverB_2[1]*hamil[2]*hamil[4])/vmap2)+rdx2*(-((0.125*hamil[4]*dualcurlbhatoverB_1[5]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_1[1]*hamil[1]*hamil[4])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_3[0]*hamil[4]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_3[1]*hamil[3]*hamil[4])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[0]*hamil[7])/vmap2)-(0.5*rtg33inv[1]*hamil[3])/vmap2))/m_; + alphavpar[2] = (rdx2*(-((0.125*dualcurlbhatoverB_1[3]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_1[0]*hamil[4]*hamil[6])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_3[1]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_3[0]*hamil[4]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[1]*hamil[16])/vmap2)-(0.5*rtg33inv[0]*hamil[8])/vmap2))/m_; + alphavpar[3] = (rdy2*(-((0.125*dualcurlbhatoverB_2[1]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_2[0]*hamil[4]*hamil[8])/vmap2-(0.125*hamil[4]*dualcurlbhatoverB_2[5]*hamil[6])/vmap2-(0.125*hamil[2]*dualcurlbhatoverB_2[3]*hamil[4])/vmap2)+rdz2*(-((0.125*hamil[4]*dualcurlbhatoverB_3[5]*hamil[7])/vmap2)-(0.125*dualcurlbhatoverB_3[3]*hamil[3]*hamil[4])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_1[0]*hamil[4]*hamil[7])/vmap2)-(0.125*hamil[1]*dualcurlbhatoverB_1[3]*hamil[4])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[5]*hamil[7])/vmap2)-(0.5*hamil[3]*rtg33inv[3])/vmap2))/m_; + alphavpar[4] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_2[5]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_2[3]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_2[1]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_2[0]*hamil[2]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[3]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[0]*hamil[1]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[1]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[0]*hamil[3]*hamil[32])/vmap2))/(m_*q_); + alphavpar[5] = (rdx2*(-((0.125*dualcurlbhatoverB_1[3]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_1[0]*hamil[4]*hamil[12])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_3[1]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_3[0]*hamil[4]*hamil[14])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[1]*hamil[21])/vmap2)-(0.5*rtg33inv[0]*hamil[14])/vmap2))/m_; + alphavpar[6] = (rdx2*(-((0.125*hamil[4]*dualcurlbhatoverB_1[5]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_1[1]*hamil[4]*hamil[6])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_3[0]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_3[1]*hamil[4]*hamil[8])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[0]*hamil[16])/vmap2)-(0.5*rtg33inv[1]*hamil[8])/vmap2))/m_; + alphavpar[7] = (rdy2*(-((0.125*dualcurlbhatoverB_2[0]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_2[1]*hamil[4]*hamil[8])/vmap2-(0.125*dualcurlbhatoverB_2[3]*hamil[4]*hamil[6])/vmap2-(0.125*hamil[2]*hamil[4]*dualcurlbhatoverB_2[5])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_3[3]*hamil[4]*hamil[7])/vmap2)-(0.125*hamil[3]*hamil[4]*dualcurlbhatoverB_3[5])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_1[1]*hamil[4]*hamil[7])/vmap2)-(0.125*hamil[1]*hamil[4]*dualcurlbhatoverB_1[5])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[3]*hamil[7])/vmap2)-(0.5*hamil[3]*rtg33inv[5])/vmap2))/m_; + alphavpar[8] = (rdz2*(-((0.125*hamil[4]*dualcurlbhatoverB_3[5]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_3[3]*hamil[4]*hamil[8])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_1[0]*hamil[4]*hamil[16])/vmap2)-(0.125*dualcurlbhatoverB_1[3]*hamil[4]*hamil[6])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[5]*hamil[16])/vmap2)-(0.5*rtg33inv[3]*hamil[8])/vmap2))/m_; + alphavpar[9] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_2[3]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_2[5]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_2[0]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_2[1]*hamil[2]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[5]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[1]*hamil[1]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[0]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[1]*hamil[3]*hamil[32])/vmap2))/(m_*q_); + alphavpar[10] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[3]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[0]*hamil[6]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[1]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[0]*hamil[8]*hamil[32])/vmap2))/(m_*q_); + alphavpar[11] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_2[1]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_2[0]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_2[5]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*hamil[2]*dualcurlbhatoverB_2[3]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[5]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[3]*hamil[3]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[0]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*hamil[1]*dualcurlbhatoverB_1[3]*hamil[32])/vmap2))/(m_*q_); + alphavpar[12] = (rdx2*(-((0.125*hamil[4]*dualcurlbhatoverB_1[5]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_1[1]*hamil[4]*hamil[12])/vmap2)+rdz2*(-((0.125*dualcurlbhatoverB_3[0]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_3[1]*hamil[4]*hamil[14])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[0]*hamil[21])/vmap2)-(0.5*rtg33inv[1]*hamil[14])/vmap2))/m_; + alphavpar[14] = (rdz2*(-((0.125*hamil[4]*dualcurlbhatoverB_3[5]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_3[3]*hamil[4]*hamil[14])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_1[0]*hamil[4]*hamil[21])/vmap2)-(0.125*dualcurlbhatoverB_1[3]*hamil[4]*hamil[12])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[5]*hamil[21])/vmap2)-(0.5*rtg33inv[3]*hamil[14])/vmap2))/m_; + alphavpar[15] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[3]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[0]*hamil[12]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[1]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[0]*hamil[14]*hamil[32])/vmap2))/(m_*q_); + alphavpar[16] = (rdz2*(-((0.125*dualcurlbhatoverB_3[3]*hamil[4]*hamil[16])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_3[5]*hamil[8])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_1[1]*hamil[4]*hamil[16])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_1[5]*hamil[6])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[3]*hamil[16])/vmap2)-(0.5*rtg33inv[5]*hamil[8])/vmap2))/m_; + alphavpar[17] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[5]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[1]*hamil[6]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[0]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[1]*hamil[8]*hamil[32])/vmap2))/(m_*q_); + alphavpar[18] = (rdy2*(-((0.2795084971874737*dualcurlbhatoverB_2[0]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_2[1]*hamil[8]*hamil[32])/vmap2-(0.2795084971874737*dualcurlbhatoverB_2[3]*hamil[6]*hamil[32])/vmap2-(0.2795084971874737*hamil[2]*dualcurlbhatoverB_2[5]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[3]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*hamil[3]*dualcurlbhatoverB_3[5]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[1]*hamil[7]*hamil[32])/vmap2)-(0.2795084971874737*hamil[1]*dualcurlbhatoverB_1[5]*hamil[32])/vmap2))/(m_*q_); + alphavpar[19] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[5]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[3]*hamil[8]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[0]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[3]*hamil[6]*hamil[32])/vmap2))/(m_*q_); + alphavpar[21] = (rdz2*(-((0.125*dualcurlbhatoverB_3[3]*hamil[4]*hamil[21])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_3[5]*hamil[14])/vmap2)+rdx2*(-((0.125*dualcurlbhatoverB_1[1]*hamil[4]*hamil[21])/vmap2)-(0.125*hamil[4]*dualcurlbhatoverB_1[5]*hamil[12])/vmap2))/(m_*q_)+(vmap[1]*rdz2*(-((0.5*rtg33inv[3]*hamil[21])/vmap2)-(0.5*rtg33inv[5]*hamil[14])/vmap2))/m_; + alphavpar[23] = (rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[5]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[1]*hamil[12]*hamil[32])/vmap2)+rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[0]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[1]*hamil[14]*hamil[32])/vmap2))/(m_*q_); + alphavpar[25] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[5]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[3]*hamil[14]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[0]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[3]*hamil[12]*hamil[32])/vmap2))/(m_*q_); + alphavpar[26] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[3]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[5]*hamil[8]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[1]*hamil[16]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[5]*hamil[6]*hamil[32])/vmap2))/(m_*q_); + alphavpar[29] = (rdz2*(-((0.2795084971874737*dualcurlbhatoverB_3[3]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_3[5]*hamil[14]*hamil[32])/vmap2)+rdx2*(-((0.2795084971874737*dualcurlbhatoverB_1[1]*hamil[21]*hamil[32])/vmap2)-(0.2795084971874737*dualcurlbhatoverB_1[5]*hamil[12]*hamil[32])/vmap2))/(m_*q_); out[4] += 0.3061862178478971*(alphavpar[29]*fin[29]+alphavpar[26]*fin[26]+alphavpar[25]*fin[25]+alphavpar[23]*fin[23]+alphavpar[21]*fin[21]+alphavpar[19]*fin[19]+alphavpar[18]*fin[18]+alphavpar[17]*fin[17]+alphavpar[16]*fin[16]+alphavpar[15]*fin[15]+alphavpar[14]*fin[14]+alphavpar[12]*fin[12]+alphavpar[11]*fin[11]+alphavpar[10]*fin[10]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[7]*fin[7]+alphavpar[6]*fin[6]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[3]*fin[3]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c index a266ef3c3e..8f17e490dc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -46,14 +46,14 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -65,7 +65,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -76,7 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c index 965fe74fae..98068d61bd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -47,14 +47,14 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -77,7 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -88,7 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -121,7 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index 36ba1fea10..3570650c26 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index e489640137..7222eb7a57 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index c1f4cc7d70..de86af7df4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -81,7 +81,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -117,7 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -129,7 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -151,7 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -175,7 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -187,7 +187,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -199,7 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -211,7 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 4abf974c5e..31f7efb238 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index 64470288c2..9b36f8f09f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -84,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -96,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -120,7 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -132,7 +132,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -154,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -166,7 +166,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -190,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -202,7 +202,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -214,7 +214,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -236,7 +236,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -260,7 +260,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -272,7 +272,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -284,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -296,7 +296,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -330,7 +330,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -342,7 +342,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -354,7 +354,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -366,7 +366,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -378,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c index 2fe98f6682..dce0037dcc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c @@ -46,14 +46,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -65,7 +65,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -76,7 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c index e3225f86b7..916687c75f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c @@ -47,14 +47,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -77,7 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -88,7 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -121,7 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c index 9d319506ed..56209c7c75 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,8 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index 00a7dea761..bea9b242fc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -75,8 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +263,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +357,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c index 54b88039ef..27ce6f7d85 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,11 +69,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,11 +163,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c index 04aa78d07c..7982c363b4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -77,8 +77,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +373,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c index a14470b3b9..7f276f9f09 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,11 +72,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,11 +86,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,11 +100,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,11 +114,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,11 +128,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,11 +142,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,11 +166,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,11 +180,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,11 +194,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,11 +208,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,11 +222,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,11 +236,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -260,11 +260,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -274,11 +274,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,11 +288,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,11 +302,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -316,11 +316,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -330,11 +330,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -354,11 +354,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -368,11 +368,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -382,11 +382,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -396,11 +396,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -410,11 +410,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -424,11 +424,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c index 92b51ca333..79cd22d54d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -48,14 +48,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -67,7 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c index 21bdc8e646..c155b423f6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -49,14 +49,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -68,7 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -90,7 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c index 0637f96946..99d773d7b0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c index 9f40259cff..e360fdd5d5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -101,8 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +115,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +195,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +209,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +289,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +317,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +331,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +383,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +397,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +411,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +425,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +439,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +453,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c index c3c0b6acec..08c93c94d6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,11 +153,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -247,11 +247,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c index 0f44d08528..aebf381670 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c index 83e09311df..8d0e867c43 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,11 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,11 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -126,11 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -140,11 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,11 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,11 +168,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,11 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -206,11 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -220,11 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -234,11 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,11 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,11 +262,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -286,11 +286,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -300,11 +300,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -314,11 +314,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,11 +328,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -342,11 +342,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -356,11 +356,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -380,11 +380,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -394,11 +394,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -408,11 +408,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -422,11 +422,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -436,11 +436,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -450,11 +450,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c index f805246ea4..dbbe32b877 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c @@ -48,14 +48,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -67,7 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c index c1c25d1dd4..4c38fac253 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c @@ -49,14 +49,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -68,7 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -90,7 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c index 519637e5b7..0de5ae40a0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c index 7b07cf337b..3bf86e95ff 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -101,8 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +115,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +195,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +209,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +289,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +317,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +331,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +383,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +397,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +411,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +425,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +439,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +453,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c index c5eba93f40..69148b02e3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,11 +153,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -247,11 +247,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c index 9c47c715a0..c47ff307c6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c index 8c6726dd8d..224c8572e7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,11 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,11 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -126,11 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -140,11 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,11 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,11 +168,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,11 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -206,11 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -220,11 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -234,11 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,11 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,11 +262,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -286,11 +286,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -300,11 +300,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -314,11 +314,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,11 +328,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -342,11 +342,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -356,11 +356,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -380,11 +380,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -394,11 +394,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -408,11 +408,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -422,11 +422,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -436,11 +436,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -450,11 +450,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c index 962754d863..d3de3c252d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c index 07cf133c7d..27dadb2e2a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c index b6d94852fd..43fe0486a3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,7 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -179,7 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c index 16ae6e6457..d0cc5168ce 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c index 3edfb2bec4..e1849695b1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -82,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -152,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +162,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -172,7 +172,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -182,7 +182,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,7 +222,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -232,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +242,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -252,7 +252,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -282,7 +282,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,7 +302,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -312,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -332,7 +332,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 3d9224a449..9e4173e417 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index bb102d731a..c8a082b087 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index 6db6d85773..f7f890655e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,7 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,7 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,7 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 64ad80ab51..d3836fbe92 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index d9c1650115..5ed6f03f81 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,7 +168,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -188,7 +188,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,7 +208,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -218,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -238,7 +238,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -258,7 +258,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -278,7 +278,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,7 +288,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -338,7 +338,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -358,7 +358,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 1898589ca4..f77df04fc1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c index fd4cdafb4e..f42d46306e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 7e6c977977..f9a3bacbfa 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,7 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,7 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,7 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c index f33afe2ec5..d980d12406 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 1d010f61ff..a250e7b97f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,7 +168,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -188,7 +188,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,7 +208,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -218,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -238,7 +238,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -258,7 +258,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -278,7 +278,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,7 +288,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -338,7 +338,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -358,7 +358,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c index bcd43f34a8..2b65302e17 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c index 9a3ed84042..f314188a4a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c index e682671edd..1f81378812 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,7 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -179,7 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c index 682135df7a..313d367cff 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c index 363a5d4584..8f122b113b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -82,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -152,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +162,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -172,7 +172,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -182,7 +182,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,7 +222,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -232,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +242,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -252,7 +252,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -282,7 +282,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,7 +302,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -312,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -332,7 +332,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c index 2a8bf51834..352c8063d2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c @@ -46,14 +46,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -65,7 +65,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -76,7 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c index 40311e9356..63cea05a52 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c @@ -47,14 +47,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -77,7 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -88,7 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -121,7 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c index e59fc9b049..4d73966690 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,8 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c index 03670ee55a..b7336aeb63 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -75,8 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +263,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +357,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c index bc24a62da2..5e97e18cb1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,11 +69,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,11 +163,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c index 23c1a2a136..1e2a656bb8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -77,8 +77,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +373,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c index e952951819..a038408660 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,11 +72,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,11 +86,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,11 +100,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,11 +114,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,11 +128,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,11 +142,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,11 +166,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,11 +180,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,11 +194,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,11 +208,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,11 +222,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,11 +236,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -260,11 +260,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -274,11 +274,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,11 +288,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,11 +302,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -316,11 +316,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -330,11 +330,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -354,11 +354,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -368,11 +368,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -382,11 +382,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -396,11 +396,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -410,11 +410,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -424,11 +424,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c index 4c93412b8b..5e10da1a20 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -48,14 +48,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -67,7 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c index 3cc4606e24..ce9d2de201 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -49,14 +49,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -68,7 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -90,7 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c index 4b950af060..1a9d96a471 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c index d268ffdc29..fa3c87fdf6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -101,8 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +115,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +195,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +209,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +289,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +317,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +331,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +383,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +397,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +411,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +425,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +439,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +453,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c index 12a268c27a..2e59d6cb2c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,11 +153,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -247,11 +247,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c index 1633321359..52b0cf84d4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c index b29ef01f9e..a9948d4f5b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,11 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,11 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -126,11 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -140,11 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,11 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,11 +168,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,11 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -206,11 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -220,11 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -234,11 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,11 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,11 +262,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -286,11 +286,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -300,11 +300,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -314,11 +314,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,11 +328,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -342,11 +342,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -356,11 +356,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -380,11 +380,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -394,11 +394,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -408,11 +408,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -422,11 +422,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -436,11 +436,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -450,11 +450,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c index 33549ad913..4548f44a98 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c @@ -48,14 +48,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -67,7 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c index b8c9fbbc7e..6886a4ac4f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c @@ -49,14 +49,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -68,7 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -90,7 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c index b22f64932c..530b1d9c73 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +156,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +250,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c index 434bec1437..beb8fd720e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -101,8 +101,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +115,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +129,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +143,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +157,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +195,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +209,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +223,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +237,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +251,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +289,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +303,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +317,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +331,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +345,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +383,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +397,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +411,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +425,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +439,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +453,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c index b64e8dbaec..82e0bbb8f7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,11 +153,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -247,11 +247,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c index fea9f5a7b0..ffefbef949 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c index e32362aca0..1d1f8742d4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,11 +98,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,11 +112,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -126,11 +126,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -140,11 +140,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,11 +154,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,11 +168,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,11 +192,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -206,11 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -220,11 +220,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -234,11 +234,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,11 +248,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,11 +262,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -286,11 +286,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -300,11 +300,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -314,11 +314,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,11 +328,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -342,11 +342,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -356,11 +356,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -380,11 +380,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -394,11 +394,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -408,11 +408,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -422,11 +422,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -436,11 +436,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -450,11 +450,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c index 3a6ed49216..c3dbf14331 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c index b36f735aa9..d33a33ebfc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c index 31b515c00b..8b6505e5bc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,7 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -179,7 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c index 54a68c611a..bb51b8813c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c index 88c5f19992..0a3c6bd99c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -82,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -152,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +162,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -172,7 +172,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -182,7 +182,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,7 +222,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -232,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +242,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -252,7 +252,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -282,7 +282,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,7 +302,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -312,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -332,7 +332,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 4d3f035e60..c7c7a6fa51 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index c480062590..f0e15580b6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index c25e95d46a..0583a5c6bf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,7 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,7 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,7 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 8f63f2b2d7..1705edaa2c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 505f4c1c0f..71791f4279 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,7 +168,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -188,7 +188,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,7 +208,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -218,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -238,7 +238,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -258,7 +258,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -278,7 +278,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,7 +288,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -338,7 +338,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -358,7 +358,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 25a4f401b1..6e303ccf9f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 6ce1635f91..386c36b8ad 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c index cc40492811..4e8387df5d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,7 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,7 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,7 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 13b104a97f..a7f63c59a1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c index fa420703d2..30f6a9d380 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,7 +168,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -188,7 +188,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,7 +208,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -218,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -238,7 +238,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -258,7 +258,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -278,7 +278,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,7 +288,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -338,7 +338,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -358,7 +358,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c index 4947a0b9c3..22311b65a8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c index 9553614b91..7defcfcd29 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c index 9738cec169..0d6a456cca 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,7 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -179,7 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c index 5f50fe8ef2..06912e6b9b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c index 9e954c6beb..b0b7af1573 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -82,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -152,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +162,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -172,7 +172,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -182,7 +182,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,7 +222,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -232,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +242,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -252,7 +252,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -282,7 +282,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,7 +302,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -312,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -332,7 +332,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c index 99f17bec3e..95cd1dc2ce 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -80,7 +80,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -117,7 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -140,7 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -154,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -177,7 +177,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -191,7 +191,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index d758236228..c210c0e1f1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -71,11 +71,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -89,11 +89,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -116,11 +116,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -134,11 +134,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -161,11 +161,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -179,11 +179,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -206,11 +206,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -224,11 +224,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -251,11 +251,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -269,11 +269,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -296,11 +296,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -314,11 +314,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -341,11 +341,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -359,11 +359,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -386,11 +386,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -404,11 +404,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c index c777f47565..6c5fd72170 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c @@ -46,14 +46,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -65,7 +65,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -76,7 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c index b5d6ffc73b..3eeeb5d415 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c @@ -47,14 +47,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -77,7 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -88,7 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -121,7 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c index 99a6714615..9e02f71820 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,8 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c index e0b82123a7..137c870cd2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -75,8 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +263,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +357,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c index c97c693445..bdf4fffe43 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,11 +69,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,11 +163,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c index fbc62eeb89..9c7caab925 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -77,8 +77,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +373,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c index 342bd01612..5be3be215b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,11 +72,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,11 +86,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,11 +100,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,11 +114,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,11 +128,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,11 +142,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,11 +166,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,11 +180,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,11 +194,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,11 +208,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,11 +222,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,11 +236,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -260,11 +260,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -274,11 +274,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,11 +288,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,11 +302,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -316,11 +316,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -330,11 +330,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -354,11 +354,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -368,11 +368,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -382,11 +382,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -396,11 +396,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -410,11 +410,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -424,11 +424,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c index ef3f8fd71a..ce84bee8cb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -81,7 +81,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -120,7 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -144,7 +144,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index 4c0363ace2..b7cd11600a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -71,11 +71,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -90,11 +90,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -118,11 +118,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -137,11 +137,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -165,11 +165,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -184,11 +184,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -212,11 +212,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -231,11 +231,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -259,11 +259,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -278,11 +278,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -306,11 +306,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -325,11 +325,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -353,11 +353,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -372,11 +372,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -400,11 +400,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -419,11 +419,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += bioverJB_quad[0]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += bioverJB_quad[1]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += bioverJB_quad[2]/m_ * ((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2); + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c index 53c6f1492b..05f7b0adce 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c @@ -46,14 +46,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -65,7 +65,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -76,7 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c index a822ec8120..dc07ba9735 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c @@ -47,14 +47,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -77,7 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -88,7 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -121,7 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c index d3c6c99e8c..3ef9053db6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,8 +72,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +86,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +100,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +114,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +128,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +142,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +166,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +180,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +194,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +208,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +222,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +236,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index 90b48246d7..05b5d2f181 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -75,8 +75,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +89,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +169,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +263,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +277,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +357,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +371,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c index 0cb5a8675e..2310237393 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,11 +69,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -83,11 +83,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -97,11 +97,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,11 +111,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,11 +125,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,11 +139,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,11 +163,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -177,11 +177,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -191,11 +191,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,11 +205,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,11 +219,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,11 +233,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * bhat_quad[1]*(0.6123724356957944*apar[1]*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c index fad227e7b6..f40fa74407 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -77,8 +77,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +91,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +171,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +185,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +265,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +279,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +359,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +373,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c index 018239315a..137d07cefd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,11 +72,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,11 +86,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,11 +100,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,11 +114,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,11 +128,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,11 +142,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,11 +166,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,11 +180,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,11 +194,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,11 +208,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,11 +222,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,11 +236,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -260,11 +260,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -274,11 +274,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,11 +288,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,11 +302,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -316,11 +316,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -330,11 +330,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -354,11 +354,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -368,11 +368,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -382,11 +382,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -396,11 +396,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[0]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[0]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -410,11 +410,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[1]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[1]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -424,11 +424,11 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += mvpar_quad[2]/(m_*bmag_quad) * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad; - alpha_quad += mvpar_quad[2]/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]); + alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index e0d595d3fd..ec0aaed538 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -48,14 +48,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -67,7 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index a0183d2fea..4ec2aa04fb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -49,14 +49,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -68,7 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -90,7 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index 7aec7c1174..b72fa0bc56 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index ca40ecf294..b8926ad492 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index 7ea596b97a..25790c6de8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -95,7 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -107,7 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -131,7 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -143,7 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -165,7 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -177,7 +177,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -201,7 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -213,7 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -225,7 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index 7cdf6e59e6..0cd555a507 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index 00ba9ae584..126b740838 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -134,7 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -146,7 +146,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -158,7 +158,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -180,7 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -204,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -216,7 +216,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -228,7 +228,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -240,7 +240,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -274,7 +274,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -286,7 +286,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -298,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -310,7 +310,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -344,7 +344,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -356,7 +356,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -368,7 +368,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -380,7 +380,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -392,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -404,7 +404,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 9619be16fb..013f2db119 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -48,14 +48,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -67,7 +67,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -78,7 +78,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index af23cd30e1..4beb85d6e5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -49,14 +49,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -68,7 +68,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -90,7 +90,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -101,7 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index e3da94ba96..7173fab4de 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index 000b03b922..68e15b6e58 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index f17b4abda2..9e5e1b48fa 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -95,7 +95,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -107,7 +107,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -131,7 +131,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -143,7 +143,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -165,7 +165,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -177,7 +177,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -201,7 +201,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -213,7 +213,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -225,7 +225,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index d84c7f993c..95686206c1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index e202b69597..6c1090ddc4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -134,7 +134,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -146,7 +146,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -158,7 +158,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -180,7 +180,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -204,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -216,7 +216,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -228,7 +228,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -240,7 +240,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -274,7 +274,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -286,7 +286,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -298,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -310,7 +310,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -344,7 +344,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -356,7 +356,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -368,7 +368,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -380,7 +380,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -392,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -404,7 +404,7 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c index 47dd50e920..072bab42e4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c index 9b0e361df1..beef88b515 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c index c5d012f06a..75019f7489 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,7 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -179,7 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c index 4da146f811..c4e86d67ff 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c index 1c3d1b577b..21d73e1f3f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -82,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -152,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +162,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -172,7 +172,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -182,7 +182,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,7 +222,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -232,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +242,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -252,7 +252,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -282,7 +282,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,7 +302,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -312,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -332,7 +332,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index dcec602bad..720e058d01 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index ac1f4606ed..99790bdf4b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index a693a8d3d4..7e96b4cd7c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,7 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,7 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,7 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 7a2c577e54..8a5feaa8de 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 9c84941d6f..8266e5b4b4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,7 +168,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -188,7 +188,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,7 +208,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -218,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -238,7 +238,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -258,7 +258,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -278,7 +278,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,7 +288,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -338,7 +338,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -358,7 +358,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 6de9b89901..1b3a1c3259 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 2626cd24da..94fe4931bc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 2253e195ed..8f1a28700e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -64,14 +64,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -83,7 +83,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,7 +113,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,7 +123,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,7 +133,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -153,7 +153,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,7 +173,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,7 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,7 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -203,7 +203,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 83f1f49c29..74969cd7a1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -81,14 +81,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 00805d7452..ab2dea1556 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -79,14 +79,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -98,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,7 +128,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -138,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +148,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,7 +168,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -188,7 +188,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,7 +208,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -218,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -238,7 +238,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -258,7 +258,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -278,7 +278,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -288,7 +288,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +308,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -328,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -338,7 +338,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -358,7 +358,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c index f4775e4ff2..74c598c8b5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c index 007b8c717a..6311c4e78b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c index 08ce32d959..eefb8d3120 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -79,7 +79,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,7 +89,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -109,7 +109,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,7 +119,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,7 +139,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,7 +149,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,7 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,7 +169,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -179,7 +179,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -189,7 +189,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c index 44312bc9a4..8514d1f80d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c index d6ad3632c6..0c3fcdce96 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -82,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -92,7 +92,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -102,7 +102,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -112,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,7 +122,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,7 +142,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -152,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +162,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -172,7 +172,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -182,7 +182,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,7 +222,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -232,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +242,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -252,7 +252,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -262,7 +262,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -282,7 +282,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -302,7 +302,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -312,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +322,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -332,7 +332,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c index 9a63687952..5d6b2632d6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c @@ -46,14 +46,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - mvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; + dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -65,7 +65,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -76,7 +76,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -87,7 +87,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c index 3665094082..61705ec812 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c @@ -47,14 +47,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - mvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; + dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -66,7 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -77,7 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -88,7 +88,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -99,7 +99,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -110,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -121,7 +121,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index 2ead917c5f..ee444d7199 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 8e83ab7d4b..9586cf6447 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index 2d6b0df100..ba4fbb65a3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -50,14 +50,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - mvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; + dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -69,7 +69,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -81,7 +81,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -93,7 +93,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -105,7 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -117,7 +117,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -129,7 +129,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -151,7 +151,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -163,7 +163,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -175,7 +175,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -187,7 +187,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -199,7 +199,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -211,7 +211,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index f45d49c8ab..33da4fed8c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index eb9fbe0b7a..002ed373e7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -53,14 +53,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; - double mvpar_quad[3] = {0.0}; - mvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - mvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - mvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; + double dHdvpar_quad[3] = {0.0}; + dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; + dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; + dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = mvpar_quad[0]*mvpar_quad[0]/m_; - mvparsq_quad[1] = mvpar_quad[1]*mvpar_quad[1]/m_; - mvparsq_quad[2] = mvpar_quad[2]*mvpar_quad[2]/m_; + mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; + mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; + mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; bmag_quad = gkdgs[0].bmag; Jc_quad = gkdgs[0].Jc; @@ -72,7 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[0].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -84,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -96,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -108,7 +108,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -120,7 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -132,7 +132,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -154,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[1].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -166,7 +166,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -178,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -190,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -202,7 +202,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -214,7 +214,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -236,7 +236,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[2].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -248,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -260,7 +260,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -272,7 +272,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -284,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -296,7 +296,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -318,7 +318,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( area_elem_quad = dgs[3].area_elem; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -330,7 +330,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -342,7 +342,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -354,7 +354,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[0]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -366,7 +366,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[1]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; @@ -378,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( Jfjump_quad = (JfR_quad - JfL_quad)/2.0; flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - alpha_quad = (mvpar_quad[2]*B3_quad/(m_*bmag_quad)); + alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; From a30f152fff3cebfa9a86e345f1542f803f59a10e Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Apr 2026 17:02:14 -0400 Subject: [PATCH 136/181] =?UTF-8?q?this=20commit=20runs=20the=20alfven=203?= =?UTF-8?q?x2v=20test=20without=20any=20aliasing=20error=20=F0=9F=8F=86=20?= =?UTF-8?q?for=20@JunoRavin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 6 + ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 6 + ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 6 + ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 124 +++++++++++------- ...isionless_flux_em_edge_surfy_3x2v_ser_p1.c | 124 +++++++++++------- ...isionless_flux_em_edge_surfz_3x2v_ser_p1.c | 124 +++++++++++------- ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 124 +++++++++++------- ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 124 +++++++++++------- ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 124 +++++++++++------- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 38 ++++++ ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 124 +++++++++++------- ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 124 +++++++++++------- ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 124 +++++++++++------- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 38 ++++++ ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 124 +++++++++++------- ..._collisionless_flux_em_surfy_3x2v_ser_p1.c | 124 +++++++++++------- ..._collisionless_flux_em_surfz_3x2v_ser_p1.c | 124 +++++++++++------- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 38 ++++++ .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 6 + .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 6 + .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 6 + 21 files changed, 1062 insertions(+), 576 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 7222eb7a57..c7c2a381b6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 31f7efb238..1b35619a58 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index 9b36f8f09f..fe54f02a40 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index bea9b242fc..08602d97d4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; + mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; + mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; + mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; + mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; + mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; + mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; + mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c index 7982c363b4..580b636042 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c @@ -42,6 +42,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; + mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; + mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; + mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; + mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; + mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; + mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; + mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -77,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +255,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +443,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +457,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c index 7f276f9f09..ae76bf930d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; + mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; + mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; + mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; + mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; + mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; + mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; + mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c index b7336aeb63..804467fca4 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; + mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; + mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; + mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; + mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; + mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; + mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; + mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c index 1e2a656bb8..7ec906e8a0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c @@ -42,6 +42,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; + mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; + mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; + mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; + mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; + mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; + mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; + mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -77,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +255,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +443,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +457,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c index a038408660..3ddd6a8435 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; + mvpargradA_2[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; + mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; + mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; + mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; + mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; + mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; + mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; + mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index c210c0e1f1..4617954bef 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -45,6 +45,44 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; hamil[32] = 2.0*vmapSq[2]*m_; + double gradHxgradA_1[48] = {0.}; + gradHxgradA_1[0] = (-(1.060660171779821*apar[4]*hamil[7])+1.060660171779821*apar[5]*hamil[6]-1.060660171779821*apar[2]*hamil[3]+1.060660171779821*hamil[2]*apar[3])*rdy2*rdz2; + gradHxgradA_1[1] = (-(1.060660171779821*apar[2]*hamil[7])+1.060660171779821*(apar[3]*hamil[6]+hamil[2]*apar[5])-1.060660171779821*hamil[3]*apar[4])*rdy2*rdz2; + gradHxgradA_1[2] = (1.060660171779821*(hamil[6]*apar[7]+hamil[2]*apar[6])-1.060660171779821*(apar[4]*hamil[16]+apar[2]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[3] = (1.060660171779821*(apar[5]*hamil[16]+apar[3]*hamil[8])-1.060660171779821*(apar[7]*hamil[7]+hamil[3]*apar[6]))*rdy2*rdz2; + gradHxgradA_1[5] = -(1.060660171779821*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[6] = (1.060660171779821*(hamil[2]*apar[7]+apar[6]*hamil[6])-1.060660171779821*(apar[2]*hamil[16]+apar[4]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[7] = (1.060660171779821*(apar[3]*hamil[16]+apar[5]*hamil[8])-1.060660171779821*(apar[6]*hamil[7]+hamil[3]*apar[7]))*rdy2*rdz2; + gradHxgradA_1[12] = -(1.060660171779821*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[14] = -(1.060660171779821*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[21] = -(1.060660171779821*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdy2*rdz2); + + double gradHxgradA_2[48] = {0.}; + gradHxgradA_2[0] = (1.060660171779821*apar[4]*hamil[8]-1.060660171779821*apar[6]*hamil[6]+1.060660171779821*apar[1]*hamil[3]-1.060660171779821*hamil[1]*apar[3])*rdx2*rdz2; + gradHxgradA_2[1] = (1.060660171779821*(apar[4]*hamil[16]+apar[1]*hamil[7])-1.060660171779821*(hamil[6]*apar[7]+hamil[1]*apar[5]))*rdx2*rdz2; + gradHxgradA_2[2] = (1.060660171779821*apar[1]*hamil[8]-1.060660171779821*(apar[3]*hamil[6]+hamil[1]*apar[6])+1.060660171779821*hamil[3]*apar[4])*rdx2*rdz2; + gradHxgradA_2[3] = (-(1.060660171779821*apar[6]*hamil[16])+1.060660171779821*apar[7]*hamil[8]-1.060660171779821*apar[3]*hamil[7]+1.060660171779821*hamil[3]*apar[5])*rdx2*rdz2; + gradHxgradA_2[5] = (1.060660171779821*apar[1]*hamil[14]-1.060660171779821*apar[3]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[6] = (1.060660171779821*(apar[1]*hamil[16]+apar[4]*hamil[7])-1.060660171779821*(hamil[1]*apar[7]+apar[5]*hamil[6]))*rdx2*rdz2; + gradHxgradA_2[8] = (-(1.060660171779821*apar[3]*hamil[16])+1.060660171779821*apar[5]*hamil[8]-1.060660171779821*apar[6]*hamil[7]+1.060660171779821*hamil[3]*apar[7])*rdx2*rdz2; + gradHxgradA_2[12] = (1.060660171779821*apar[1]*hamil[21]-1.060660171779821*apar[5]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[13] = (1.060660171779821*apar[4]*hamil[14]-1.060660171779821*apar[6]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[14] = (1.060660171779821*apar[5]*hamil[14]-1.060660171779821*apar[3]*hamil[21])*rdx2*rdz2; + gradHxgradA_2[20] = (1.060660171779821*apar[4]*hamil[21]-1.060660171779821*apar[7]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[22] = (1.060660171779821*apar[7]*hamil[14]-1.060660171779821*apar[6]*hamil[21])*rdx2*rdz2; + + double gradHxgradA_3[48] = {0.}; + gradHxgradA_3[0] = (-(1.060660171779821*apar[5]*hamil[8])+1.060660171779821*apar[6]*hamil[7]-1.060660171779821*apar[1]*hamil[2]+1.060660171779821*hamil[1]*apar[2])*rdx2*rdy2; + gradHxgradA_3[1] = (-(1.060660171779821*apar[5]*hamil[16])+1.060660171779821*apar[7]*hamil[7]-1.060660171779821*apar[1]*hamil[6]+1.060660171779821*hamil[1]*apar[4])*rdx2*rdy2; + gradHxgradA_3[2] = (1.060660171779821*apar[6]*hamil[16]-1.060660171779821*apar[7]*hamil[8]+1.060660171779821*apar[2]*hamil[6]-1.060660171779821*hamil[2]*apar[4])*rdx2*rdy2; + gradHxgradA_3[3] = (-(1.060660171779821*apar[1]*hamil[8])+1.060660171779821*(apar[2]*hamil[7]+hamil[1]*apar[6])-1.060660171779821*hamil[2]*apar[5])*rdx2*rdy2; + gradHxgradA_3[5] = 1.060660171779821*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[7] = (-(1.060660171779821*apar[1]*hamil[16])+1.060660171779821*(apar[4]*hamil[7]+hamil[1]*apar[7])-1.060660171779821*apar[5]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[8] = (1.060660171779821*apar[2]*hamil[16]-1.060660171779821*(apar[4]*hamil[8]+hamil[2]*apar[7])+1.060660171779821*apar[6]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[12] = 1.060660171779821*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[14] = 1.060660171779821*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[21] = 1.060660171779821*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2*rdy2; + double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c index 137c870cd2..e134febdd5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; + mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; + mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; + mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; + mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; + mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; + mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; + mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; + mvpargradA_2[2] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; + mvpargradA_2[7] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c index 9c7caab925..19c6e65cbd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c @@ -42,6 +42,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; + mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; + mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; + mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; + mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; + mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; + mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; + mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -77,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +255,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +443,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +457,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c index 5be3be215b..8d9c86c30b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; + mvpargradA_2[1] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; + mvpargradA_2[6] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; + mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; + mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; + mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; + mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; + mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; + mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; + mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index b7cd11600a..8269c2ebbd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -45,6 +45,44 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; hamil[32] = 2.0*vmapSq[2]*m_; + double gradHxgradA_1[48] = {0.}; + gradHxgradA_1[0] = (-(1.060660171779821*apar[4]*hamil[7])+1.060660171779821*apar[5]*hamil[6]-1.060660171779821*apar[2]*hamil[3]+1.060660171779821*hamil[2]*apar[3])*rdy2*rdz2; + gradHxgradA_1[1] = (-(1.060660171779821*apar[2]*hamil[7])+1.060660171779821*(apar[3]*hamil[6]+hamil[2]*apar[5])-1.060660171779821*hamil[3]*apar[4])*rdy2*rdz2; + gradHxgradA_1[2] = (1.060660171779821*(hamil[6]*apar[7]+hamil[2]*apar[6])-1.060660171779821*(apar[4]*hamil[16]+apar[2]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[3] = (1.060660171779821*(apar[5]*hamil[16]+apar[3]*hamil[8])-1.060660171779821*(apar[7]*hamil[7]+hamil[3]*apar[6]))*rdy2*rdz2; + gradHxgradA_1[5] = -(1.060660171779821*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[6] = (1.060660171779821*(hamil[2]*apar[7]+apar[6]*hamil[6])-1.060660171779821*(apar[2]*hamil[16]+apar[4]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[7] = (1.060660171779821*(apar[3]*hamil[16]+apar[5]*hamil[8])-1.060660171779821*(apar[6]*hamil[7]+hamil[3]*apar[7]))*rdy2*rdz2; + gradHxgradA_1[12] = -(1.060660171779821*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[14] = -(1.060660171779821*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[21] = -(1.060660171779821*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdy2*rdz2); + + double gradHxgradA_2[48] = {0.}; + gradHxgradA_2[0] = (1.060660171779821*apar[4]*hamil[8]-1.060660171779821*apar[6]*hamil[6]+1.060660171779821*apar[1]*hamil[3]-1.060660171779821*hamil[1]*apar[3])*rdx2*rdz2; + gradHxgradA_2[1] = (1.060660171779821*(apar[4]*hamil[16]+apar[1]*hamil[7])-1.060660171779821*(hamil[6]*apar[7]+hamil[1]*apar[5]))*rdx2*rdz2; + gradHxgradA_2[2] = (1.060660171779821*apar[1]*hamil[8]-1.060660171779821*(apar[3]*hamil[6]+hamil[1]*apar[6])+1.060660171779821*hamil[3]*apar[4])*rdx2*rdz2; + gradHxgradA_2[3] = (-(1.060660171779821*apar[6]*hamil[16])+1.060660171779821*apar[7]*hamil[8]-1.060660171779821*apar[3]*hamil[7]+1.060660171779821*hamil[3]*apar[5])*rdx2*rdz2; + gradHxgradA_2[5] = (1.060660171779821*apar[1]*hamil[14]-1.060660171779821*apar[3]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[6] = (1.060660171779821*(apar[1]*hamil[16]+apar[4]*hamil[7])-1.060660171779821*(hamil[1]*apar[7]+apar[5]*hamil[6]))*rdx2*rdz2; + gradHxgradA_2[8] = (-(1.060660171779821*apar[3]*hamil[16])+1.060660171779821*apar[5]*hamil[8]-1.060660171779821*apar[6]*hamil[7]+1.060660171779821*hamil[3]*apar[7])*rdx2*rdz2; + gradHxgradA_2[12] = (1.060660171779821*apar[1]*hamil[21]-1.060660171779821*apar[5]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[13] = (1.060660171779821*apar[4]*hamil[14]-1.060660171779821*apar[6]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[14] = (1.060660171779821*apar[5]*hamil[14]-1.060660171779821*apar[3]*hamil[21])*rdx2*rdz2; + gradHxgradA_2[20] = (1.060660171779821*apar[4]*hamil[21]-1.060660171779821*apar[7]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[22] = (1.060660171779821*apar[7]*hamil[14]-1.060660171779821*apar[6]*hamil[21])*rdx2*rdz2; + + double gradHxgradA_3[48] = {0.}; + gradHxgradA_3[0] = (-(1.060660171779821*apar[5]*hamil[8])+1.060660171779821*apar[6]*hamil[7]-1.060660171779821*apar[1]*hamil[2]+1.060660171779821*hamil[1]*apar[2])*rdx2*rdy2; + gradHxgradA_3[1] = (-(1.060660171779821*apar[5]*hamil[16])+1.060660171779821*apar[7]*hamil[7]-1.060660171779821*apar[1]*hamil[6]+1.060660171779821*hamil[1]*apar[4])*rdx2*rdy2; + gradHxgradA_3[2] = (1.060660171779821*apar[6]*hamil[16]-1.060660171779821*apar[7]*hamil[8]+1.060660171779821*apar[2]*hamil[6]-1.060660171779821*hamil[2]*apar[4])*rdx2*rdy2; + gradHxgradA_3[3] = (-(1.060660171779821*apar[1]*hamil[8])+1.060660171779821*(apar[2]*hamil[7]+hamil[1]*apar[6])-1.060660171779821*hamil[2]*apar[5])*rdx2*rdy2; + gradHxgradA_3[5] = 1.060660171779821*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[7] = (-(1.060660171779821*apar[1]*hamil[16])+1.060660171779821*(apar[4]*hamil[7]+hamil[1]*apar[7])-1.060660171779821*apar[5]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[8] = (1.060660171779821*apar[2]*hamil[16]-1.060660171779821*(apar[4]*hamil[8]+hamil[2]*apar[7])+1.060660171779821*apar[6]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[12] = 1.060660171779821*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[14] = 1.060660171779821*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[21] = 1.060660171779821*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2*rdy2; + double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index 05b5d2f181..95a9f309f3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; + mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; + mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; + mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; + mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; + mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; + mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; + mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; + mvpargradA_2[2] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; + mvpargradA_2[7] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c index f40fa74407..81f0ab73ec 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c @@ -42,6 +42,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; + mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; + mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; + mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; + mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; + mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; + mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; + mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; + mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; + mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; + mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -77,8 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -91,8 +119,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -105,8 +133,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -119,8 +147,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -133,8 +161,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -147,8 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +199,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,8 +213,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -199,8 +227,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -213,8 +241,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -227,8 +255,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,8 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +293,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,8 +307,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -293,8 +321,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -307,8 +335,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,8 +349,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,8 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +387,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,8 +401,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -387,8 +415,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -401,8 +429,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -415,8 +443,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -429,8 +457,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c index 137d07cefd..d0c3c6c01a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c @@ -40,6 +40,34 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + + double mvpargradA_1[48] = {0.}; + mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; + mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; + mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; + mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; + + double mvpargradA_2[48] = {0.}; + mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; + mvpargradA_2[1] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; + mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; + mvpargradA_2[6] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; + + double mvpargradA_3[48] = {0.}; + mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; + mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; + mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; + mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; + mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; + mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; + mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; + mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,8 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,8 +117,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -103,8 +131,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +145,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +173,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,8 +197,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,8 +211,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +225,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +239,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +253,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +267,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,8 +291,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,8 +305,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +319,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +333,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +347,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +361,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,8 +385,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,8 +399,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +413,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +427,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +441,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +455,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index f328a124fe..d2091dd046 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -45,6 +45,44 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; hamil[32] = 2.0*vmapSq[2]*m_; + double gradHxgradA_1[48] = {0.}; + gradHxgradA_1[0] = (-(1.060660171779821*apar[4]*hamil[7])+1.060660171779821*apar[5]*hamil[6]-1.060660171779821*apar[2]*hamil[3]+1.060660171779821*hamil[2]*apar[3])*rdy2*rdz2; + gradHxgradA_1[1] = (-(1.060660171779821*apar[2]*hamil[7])+1.060660171779821*(apar[3]*hamil[6]+hamil[2]*apar[5])-1.060660171779821*hamil[3]*apar[4])*rdy2*rdz2; + gradHxgradA_1[2] = (1.060660171779821*(hamil[6]*apar[7]+hamil[2]*apar[6])-1.060660171779821*(apar[4]*hamil[16]+apar[2]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[3] = (1.060660171779821*(apar[5]*hamil[16]+apar[3]*hamil[8])-1.060660171779821*(apar[7]*hamil[7]+hamil[3]*apar[6]))*rdy2*rdz2; + gradHxgradA_1[5] = -(1.060660171779821*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[6] = (1.060660171779821*(hamil[2]*apar[7]+apar[6]*hamil[6])-1.060660171779821*(apar[2]*hamil[16]+apar[4]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[7] = (1.060660171779821*(apar[3]*hamil[16]+apar[5]*hamil[8])-1.060660171779821*(apar[6]*hamil[7]+hamil[3]*apar[7]))*rdy2*rdz2; + gradHxgradA_1[12] = -(1.060660171779821*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[14] = -(1.060660171779821*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[21] = -(1.060660171779821*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdy2*rdz2); + + double gradHxgradA_2[48] = {0.}; + gradHxgradA_2[0] = (1.060660171779821*apar[4]*hamil[8]-1.060660171779821*apar[6]*hamil[6]+1.060660171779821*apar[1]*hamil[3]-1.060660171779821*hamil[1]*apar[3])*rdx2*rdz2; + gradHxgradA_2[1] = (1.060660171779821*(apar[4]*hamil[16]+apar[1]*hamil[7])-1.060660171779821*(hamil[6]*apar[7]+hamil[1]*apar[5]))*rdx2*rdz2; + gradHxgradA_2[2] = (1.060660171779821*apar[1]*hamil[8]-1.060660171779821*(apar[3]*hamil[6]+hamil[1]*apar[6])+1.060660171779821*hamil[3]*apar[4])*rdx2*rdz2; + gradHxgradA_2[3] = (-(1.060660171779821*apar[6]*hamil[16])+1.060660171779821*apar[7]*hamil[8]-1.060660171779821*apar[3]*hamil[7]+1.060660171779821*hamil[3]*apar[5])*rdx2*rdz2; + gradHxgradA_2[5] = (1.060660171779821*apar[1]*hamil[14]-1.060660171779821*apar[3]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[6] = (1.060660171779821*(apar[1]*hamil[16]+apar[4]*hamil[7])-1.060660171779821*(hamil[1]*apar[7]+apar[5]*hamil[6]))*rdx2*rdz2; + gradHxgradA_2[8] = (-(1.060660171779821*apar[3]*hamil[16])+1.060660171779821*apar[5]*hamil[8]-1.060660171779821*apar[6]*hamil[7]+1.060660171779821*hamil[3]*apar[7])*rdx2*rdz2; + gradHxgradA_2[12] = (1.060660171779821*apar[1]*hamil[21]-1.060660171779821*apar[5]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[13] = (1.060660171779821*apar[4]*hamil[14]-1.060660171779821*apar[6]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[14] = (1.060660171779821*apar[5]*hamil[14]-1.060660171779821*apar[3]*hamil[21])*rdx2*rdz2; + gradHxgradA_2[20] = (1.060660171779821*apar[4]*hamil[21]-1.060660171779821*apar[7]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[22] = (1.060660171779821*apar[7]*hamil[14]-1.060660171779821*apar[6]*hamil[21])*rdx2*rdz2; + + double gradHxgradA_3[48] = {0.}; + gradHxgradA_3[0] = (-(1.060660171779821*apar[5]*hamil[8])+1.060660171779821*apar[6]*hamil[7]-1.060660171779821*apar[1]*hamil[2]+1.060660171779821*hamil[1]*apar[2])*rdx2*rdy2; + gradHxgradA_3[1] = (-(1.060660171779821*apar[5]*hamil[16])+1.060660171779821*apar[7]*hamil[7]-1.060660171779821*apar[1]*hamil[6]+1.060660171779821*hamil[1]*apar[4])*rdx2*rdy2; + gradHxgradA_3[2] = (1.060660171779821*apar[6]*hamil[16]-1.060660171779821*apar[7]*hamil[8]+1.060660171779821*apar[2]*hamil[6]-1.060660171779821*hamil[2]*apar[4])*rdx2*rdy2; + gradHxgradA_3[3] = (-(1.060660171779821*apar[1]*hamil[8])+1.060660171779821*(apar[2]*hamil[7]+hamil[1]*apar[6])-1.060660171779821*hamil[2]*apar[5])*rdx2*rdy2; + gradHxgradA_3[5] = 1.060660171779821*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[7] = (-(1.060660171779821*apar[1]*hamil[16])+1.060660171779821*(apar[4]*hamil[7]+hamil[1]*apar[7])-1.060660171779821*apar[5]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[8] = (1.060660171779821*apar[2]*hamil[16]-1.060660171779821*(apar[4]*hamil[8]+hamil[2]*apar[7])+1.060660171779821*apar[6]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[12] = 1.060660171779821*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[14] = 1.060660171779821*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[21] = 1.060660171779821*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2*rdy2; + double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 9586cf6447..9ba73aa959 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index 33da4fed8c..aa10c2619c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index 002ed373e7..6ee59db3a7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; From 1c31d531da147538fbab345c32f3fa1776f47bf1 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Apr 2026 17:08:34 -0400 Subject: [PATCH 137/181] =?UTF-8?q?forgot=20a=20line=20in=20the=20kernel?= =?UTF-8?q?=20generation,=20everything=20is=20fine=20=F0=9F=90=B6?= =?UTF-8?q?=F0=9F=94=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 48 +++++++++---------- ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 48 +++++++++---------- ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 48 +++++++++---------- ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 48 +++++++++---------- 4 files changed, 96 insertions(+), 96 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index 08602d97d4..cd7b1e2efa 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -104,7 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +132,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +146,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +226,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +240,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +254,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +306,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +320,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +334,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +362,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +386,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +400,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +414,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +428,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +442,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +456,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c index 804467fca4..dce41b3545 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -104,7 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +132,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +146,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +226,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +240,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +254,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +306,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +320,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +334,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +362,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +386,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +400,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +414,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +428,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +442,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +456,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c index e134febdd5..7fbe75d6e9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -104,7 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +132,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +146,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +226,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +240,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +254,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +306,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +320,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +334,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +362,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +386,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +400,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +414,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +428,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +442,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +456,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index 95a9f309f3..c376c8f6ae 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -104,7 +104,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +118,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +132,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +146,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +160,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +174,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +212,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +226,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +240,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +254,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +268,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +292,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +306,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +320,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +334,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +348,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +362,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +386,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +400,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +414,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +428,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +442,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +456,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); From a12859a70b4762b960987365d7be0fb615d00d2d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 17 Apr 2026 18:40:36 -0400 Subject: [PATCH 138/181] this is the minimal correction to get rid of the spurious alfven 3x2v oscillation --- ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 6 -- ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 6 -- ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 6 -- ...isionless_flux_em_edge_surfx_1x1v_ser_p1.c | 3 + ...isionless_flux_em_edge_surfx_1x2v_ser_p1.c | 3 + ...isionless_flux_em_edge_surfx_2x2v_ser_p1.c | 52 ++++----- ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 70 +++++------- ...isionless_flux_em_edge_surfy_2x2v_ser_p1.c | 52 ++++----- ...isionless_flux_em_edge_surfy_3x2v_ser_p1.c | 70 +++++------- ...isionless_flux_em_edge_surfz_3x2v_ser_p1.c | 70 +++++------- ...m_multib_boundary_edge_surfx_1x1v_ser_p1.c | 3 + ...m_multib_boundary_edge_surfx_1x2v_ser_p1.c | 3 + ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 52 ++++----- ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 102 +++++++++--------- ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 52 ++++----- ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 102 +++++++++--------- ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 102 +++++++++--------- ...lux_em_multib_boundary_surfx_1x1v_ser_p1.c | 3 + ...lux_em_multib_boundary_surfx_1x2v_ser_p1.c | 3 + ...lux_em_multib_boundary_surfx_2x2v_ser_p1.c | 52 ++++----- ...lux_em_multib_boundary_surfx_3x2v_ser_p1.c | 102 +++++++++--------- ...lux_em_multib_boundary_surfy_2x2v_ser_p1.c | 52 ++++----- ...lux_em_multib_boundary_surfy_3x2v_ser_p1.c | 102 +++++++++--------- ...lux_em_multib_boundary_surfz_3x2v_ser_p1.c | 102 +++++++++--------- ...ess_flux_em_no_by_edge_surfx_2x2v_ser_p1.c | 4 + ...ess_flux_em_no_by_edge_surfx_3x2v_ser_p1.c | 6 ++ ...ess_flux_em_no_by_edge_surfy_2x2v_ser_p1.c | 4 + ...ess_flux_em_no_by_edge_surfy_3x2v_ser_p1.c | 6 ++ ...ess_flux_em_no_by_edge_surfz_3x2v_ser_p1.c | 6 ++ ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 4 + ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 6 ++ ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 4 + ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 6 ++ ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 6 ++ ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 4 + ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 6 ++ ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 4 + ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 6 ++ ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 6 ++ ...sionless_flux_em_no_by_surfx_2x2v_ser_p1.c | 4 + ...sionless_flux_em_no_by_surfx_3x2v_ser_p1.c | 6 ++ ...sionless_flux_em_no_by_surfy_2x2v_ser_p1.c | 4 + ...sionless_flux_em_no_by_surfy_3x2v_ser_p1.c | 6 ++ ...sionless_flux_em_no_by_surfz_3x2v_ser_p1.c | 6 ++ ...less_flux_em_star_edge_surfx_1x1v_ser_p1.c | 3 + ...less_flux_em_star_edge_surfx_1x2v_ser_p1.c | 3 + ...less_flux_em_star_edge_surfx_2x2v_ser_p1.c | 52 ++++----- ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 70 +++++------- ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 52 ++++----- ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 70 +++++------- ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 70 +++++------- ...r_multib_boundary_edge_surfx_1x1v_ser_p1.c | 3 + ...r_multib_boundary_edge_surfx_1x2v_ser_p1.c | 3 + ...r_multib_boundary_edge_surfx_2x2v_ser_p1.c | 52 ++++----- ...r_multib_boundary_edge_surfx_3x2v_ser_p1.c | 102 +++++++++--------- ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 52 ++++----- ...r_multib_boundary_edge_surfy_3x2v_ser_p1.c | 102 +++++++++--------- ...r_multib_boundary_edge_surfz_3x2v_ser_p1.c | 102 +++++++++--------- ...m_star_multib_boundary_surfx_1x1v_ser_p1.c | 3 + ...m_star_multib_boundary_surfx_1x2v_ser_p1.c | 3 + ...m_star_multib_boundary_surfx_2x2v_ser_p1.c | 52 ++++----- ...m_star_multib_boundary_surfx_3x2v_ser_p1.c | 102 +++++++++--------- ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 52 ++++----- ...m_star_multib_boundary_surfy_3x2v_ser_p1.c | 102 +++++++++--------- ...m_star_multib_boundary_surfz_3x2v_ser_p1.c | 102 +++++++++--------- ...lux_em_star_no_by_edge_surfx_2x2v_ser_p1.c | 4 + ...lux_em_star_no_by_edge_surfx_3x2v_ser_p1.c | 6 ++ ...lux_em_star_no_by_edge_surfy_2x2v_ser_p1.c | 4 + ...lux_em_star_no_by_edge_surfy_3x2v_ser_p1.c | 6 ++ ...lux_em_star_no_by_edge_surfz_3x2v_ser_p1.c | 6 ++ ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 4 + ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 6 ++ ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 4 + ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 6 ++ ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 6 ++ ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 4 + ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 6 ++ ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 4 + ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 6 ++ ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 6 ++ ...ess_flux_em_star_no_by_surfx_2x2v_ser_p1.c | 4 + ...ess_flux_em_star_no_by_surfx_3x2v_ser_p1.c | 6 ++ ...ess_flux_em_star_no_by_surfy_2x2v_ser_p1.c | 4 + ...ess_flux_em_star_no_by_surfy_3x2v_ser_p1.c | 6 ++ ...ess_flux_em_star_no_by_surfz_3x2v_ser_p1.c | 6 ++ ...onless_flux_em_star_surfvpar_2x2v_ser_p1.c | 24 +++-- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 38 ------- ...isionless_flux_em_star_surfx_1x1v_ser_p1.c | 3 + ...isionless_flux_em_star_surfx_1x2v_ser_p1.c | 3 + ...isionless_flux_em_star_surfx_2x2v_ser_p1.c | 52 ++++----- ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 70 +++++------- ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 52 ++++----- ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 70 +++++------- ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 70 +++++------- ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 24 +++-- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 38 ------- ..._collisionless_flux_em_surfx_1x1v_ser_p1.c | 3 + ..._collisionless_flux_em_surfx_1x2v_ser_p1.c | 3 + ..._collisionless_flux_em_surfx_2x2v_ser_p1.c | 52 ++++----- ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 70 +++++------- ..._collisionless_flux_em_surfy_2x2v_ser_p1.c | 52 ++++----- ..._collisionless_flux_em_surfy_3x2v_ser_p1.c | 70 +++++------- ..._collisionless_flux_em_surfz_3x2v_ser_p1.c | 70 +++++------- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 38 ------- .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 6 -- .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 6 -- .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 6 -- 107 files changed, 1672 insertions(+), 1678 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index c7c2a381b6..7222eb7a57 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -40,12 +40,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 1b35619a58..31f7efb238 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -42,12 +42,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index fe54f02a40..9b36f8f09f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -40,12 +40,6 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c index dce0037dcc..5bb6b0a75a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c @@ -33,6 +33,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( hamil[1] = 0.5*vmapSq[1]*m_; hamil[2] = 0.5*vmapSq[2]*m_; + double apar_surf[3] = {0.}; + apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c index 916687c75f..5adfce3283 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c @@ -34,6 +34,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + double apar_surf[6] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c index 56209c7c75..e8896c6d4b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c index cd7b1e2efa..87af2dae39 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; - mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; - mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; - mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; - mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; - mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; - mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; - mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c index 27ce6f7d85..73ee4404df 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c index 580b636042..e681b9589f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c @@ -48,28 +48,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; - mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; - mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; - mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; - mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; - mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; - mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; - mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -106,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +126,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -176,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -200,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,7 +206,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +220,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -256,7 +234,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -270,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -294,7 +272,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +286,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +300,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -336,7 +314,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -350,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -364,7 +342,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -388,7 +366,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -402,7 +380,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -416,7 +394,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -430,7 +408,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -444,7 +422,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -458,7 +436,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c index ae76bf930d..31a7ccd890 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; - mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; - mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; - mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; - mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; - mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; - mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; - mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; - double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c index 79cd22d54d..ae20218be5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -35,6 +35,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p double JRatfR[3] = {0.}; + double apar_surf[3] = {0.}; + apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c index c155b423f6..b7a042a1fe 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -36,6 +36,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p double JRatfR[6] = {0.}; + double apar_surf[6] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c index 99d773d7b0..6a867658a9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c index e360fdd5d5..3735fbdf54 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c index 08c93c94d6..7441ae3793 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c index aebf381670..97b2d0679d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -103,8 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +353,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +367,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +447,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +461,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c index 8d0e867c43..077c9205dd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c index dbbe32b877..1e42e613b9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c @@ -35,6 +35,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( double JRatfL[3] = {0.}; + double apar_surf[3] = {0.}; + apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c index 4c38fac253..ec14fa1571 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c @@ -36,6 +36,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( double JRatfL[6] = {0.}; + double apar_surf[6] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c index 0de5ae40a0..68ab1cb353 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c index 3bf86e95ff..9fff406b73 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c index 69148b02e3..64dbe2da91 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c index c47ff307c6..536e6c34d8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -103,8 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +353,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +367,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +447,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +461,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c index 224c8572e7..bc1cb3ba1e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c index d3de3c252d..ba90f5a442 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c index 27dadb2e2a..a3b36fbf3f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c index 43fe0486a3..e082865dc9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c index d0cc5168ce..adbfed0e0a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c index e1849695b1..00b7d70fe6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 9e4173e417..7d0f83ae5f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index c8a082b087..8899b591f9 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index f7f890655e..1d1911e717 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index d3836fbe92..4023c31e6e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 5ed6f03f81..939c66a928 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c index f77df04fc1..bd65d6e496 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_ JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c index f42d46306e..a68f391f0e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_ JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c index f9a3bacbfa..f460213950 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_ JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c index d980d12406..352a5f8155 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_ JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c index a250e7b97f..c1e212a51e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_ JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c index 2b65302e17..0fc1866a80 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c index f314188a4a..a7e78831e7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c index 1f81378812..b73446db49 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c index 313d367cff..0d0c2981ff 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c index 8f122b113b..53d8775015 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c index 352c8063d2..898f51cea6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c @@ -33,6 +33,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( hamil[1] = 0.5*vmapSq[1]*m_; hamil[2] = 0.5*vmapSq[2]*m_; + double apar_surf[3] = {0.}; + apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c index 63cea05a52..1cac10f2af 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c @@ -34,6 +34,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + double apar_surf[6] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c index 4d73966690..e1db697a7a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c index dce41b3545..74499dc569 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; - mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; - mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; - mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; - mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; - mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; - mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; - mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[6])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c index 5e97e18cb1..b034de3f86 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c index 7ec906e8a0..373f4cd523 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c @@ -48,28 +48,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(3.0*apar[4]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; - mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; - mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; - mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; - mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; - mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; - mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; - mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[3])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[5])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -106,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +126,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -176,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -200,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,7 +206,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +220,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -256,7 +234,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -270,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -294,7 +272,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +286,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +300,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -336,7 +314,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -350,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -364,7 +342,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -388,7 +366,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -402,7 +380,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -416,7 +394,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -430,7 +408,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -444,7 +422,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -458,7 +436,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c index 3ddd6a8435..b9ffb09703 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(3.0*apar[5]+1.7320508075688772*apar[1])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[1] = vmap[0]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(3.0*apar[6]+1.7320508075688772*apar[2])*m_*rdy2; - mvpargradA_2[6] = vmap[1]*(3.0*apar[7]+1.7320508075688772*apar[4])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; - mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; - mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; - mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; - mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; - mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; - mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; - mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; - double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c index 5e10da1a20..b6234d654d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -35,6 +35,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ double JRatfR[3] = {0.}; + double apar_surf[3] = {0.}; + apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c index ce9d2de201..2794ea343b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -36,6 +36,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ double JRatfR[6] = {0.}; + double apar_surf[6] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c index 1a9d96a471..ec2773a9be 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c index fa3c87fdf6..801cfd794d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c index 2e59d6cb2c..4b0279bad1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c index 52b0cf84d4..8d590940f2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -103,8 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +353,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +367,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +447,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +461,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c index a9948d4f5b..de6e8f5375 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c index 4548f44a98..94941234a0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c @@ -35,6 +35,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p double JRatfL[3] = {0.}; + double apar_surf[3] = {0.}; + apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c index 6886a4ac4f..98e5834ab7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c @@ -36,6 +36,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p double JRatfL[6] = {0.}; + double apar_surf[6] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c index 530b1d9c73..5b9a29e4d3 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c index beb8fd720e..18e9c75f3c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c index 82e0bbb8f7..6eb39e2e81 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -156,8 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -250,8 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c index ffefbef949..f67ec48d4d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -103,8 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -117,8 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -131,8 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -145,8 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,8 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -173,8 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,8 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -211,8 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -225,8 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,8 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,8 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,8 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,8 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -305,8 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -319,8 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,8 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,8 +353,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,8 +367,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,8 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -399,8 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -413,8 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -427,8 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -441,8 +447,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -455,8 +461,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c index 1d1f8742d4..86a4032c6c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,8 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,8 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -129,8 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -143,8 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,8 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,8 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]-0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,8 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,8 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -223,8 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -237,8 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,8 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,8 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])+0.25*apar[2]-0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[2]-0.4330127018922193*apar[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,8 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,8 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -317,8 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -331,8 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,8 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,8 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar[5])-0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[1]-0.4330127018922193*apar[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,8 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,8 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -411,8 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -425,8 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -439,8 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -453,8 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar[5]+0.25*apar[2]+0.25*apar[1]+0.25*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar[5]+0.4330127018922193*apar[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar[5]+0.4330127018922193*apar[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c index c3dbf14331..16107a4bfd 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c index d33a33ebfc..e348146b19 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c index 8b6505e5bc..c08a9acce7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c index bb51b8813c..d96fbc8007 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c index 0a3c6bd99c..5b80440dcb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index c7c7a6fa51..c92a1ac2c5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index f0e15580b6..2707c88374 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index 0583a5c6bf..be05533432 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 1705edaa2c..16a921c788 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 71791f4279..fe114feeb1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 6e303ccf9f..2ac072efa7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 386c36b8ad..484c74eea5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 4e8387df5d..717ef56760 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c index a7f63c59a1..dc082abd14 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c index 30f6a9d380..0191a5c18f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c index 22311b65a8..021c3b4c0f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c index 7defcfcd29..16322da7ec 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c index 0d6a456cca..6df6055c88 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c index 06912e6b9b..5a717ab448 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c index b0b7af1573..c143d2e516 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c index 95cd1dc2ce..6f884a9f3a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c @@ -66,7 +66,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -80,7 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -103,7 +105,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -117,7 +120,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -140,7 +144,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -154,7 +159,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -177,7 +183,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -191,7 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c index 4617954bef..c210c0e1f1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c @@ -45,44 +45,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; hamil[32] = 2.0*vmapSq[2]*m_; - double gradHxgradA_1[48] = {0.}; - gradHxgradA_1[0] = (-(1.060660171779821*apar[4]*hamil[7])+1.060660171779821*apar[5]*hamil[6]-1.060660171779821*apar[2]*hamil[3]+1.060660171779821*hamil[2]*apar[3])*rdy2*rdz2; - gradHxgradA_1[1] = (-(1.060660171779821*apar[2]*hamil[7])+1.060660171779821*(apar[3]*hamil[6]+hamil[2]*apar[5])-1.060660171779821*hamil[3]*apar[4])*rdy2*rdz2; - gradHxgradA_1[2] = (1.060660171779821*(hamil[6]*apar[7]+hamil[2]*apar[6])-1.060660171779821*(apar[4]*hamil[16]+apar[2]*hamil[8]))*rdy2*rdz2; - gradHxgradA_1[3] = (1.060660171779821*(apar[5]*hamil[16]+apar[3]*hamil[8])-1.060660171779821*(apar[7]*hamil[7]+hamil[3]*apar[6]))*rdy2*rdz2; - gradHxgradA_1[5] = -(1.060660171779821*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[6] = (1.060660171779821*(hamil[2]*apar[7]+apar[6]*hamil[6])-1.060660171779821*(apar[2]*hamil[16]+apar[4]*hamil[8]))*rdy2*rdz2; - gradHxgradA_1[7] = (1.060660171779821*(apar[3]*hamil[16]+apar[5]*hamil[8])-1.060660171779821*(apar[6]*hamil[7]+hamil[3]*apar[7]))*rdy2*rdz2; - gradHxgradA_1[12] = -(1.060660171779821*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[14] = -(1.060660171779821*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[21] = -(1.060660171779821*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdy2*rdz2); - - double gradHxgradA_2[48] = {0.}; - gradHxgradA_2[0] = (1.060660171779821*apar[4]*hamil[8]-1.060660171779821*apar[6]*hamil[6]+1.060660171779821*apar[1]*hamil[3]-1.060660171779821*hamil[1]*apar[3])*rdx2*rdz2; - gradHxgradA_2[1] = (1.060660171779821*(apar[4]*hamil[16]+apar[1]*hamil[7])-1.060660171779821*(hamil[6]*apar[7]+hamil[1]*apar[5]))*rdx2*rdz2; - gradHxgradA_2[2] = (1.060660171779821*apar[1]*hamil[8]-1.060660171779821*(apar[3]*hamil[6]+hamil[1]*apar[6])+1.060660171779821*hamil[3]*apar[4])*rdx2*rdz2; - gradHxgradA_2[3] = (-(1.060660171779821*apar[6]*hamil[16])+1.060660171779821*apar[7]*hamil[8]-1.060660171779821*apar[3]*hamil[7]+1.060660171779821*hamil[3]*apar[5])*rdx2*rdz2; - gradHxgradA_2[5] = (1.060660171779821*apar[1]*hamil[14]-1.060660171779821*apar[3]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[6] = (1.060660171779821*(apar[1]*hamil[16]+apar[4]*hamil[7])-1.060660171779821*(hamil[1]*apar[7]+apar[5]*hamil[6]))*rdx2*rdz2; - gradHxgradA_2[8] = (-(1.060660171779821*apar[3]*hamil[16])+1.060660171779821*apar[5]*hamil[8]-1.060660171779821*apar[6]*hamil[7]+1.060660171779821*hamil[3]*apar[7])*rdx2*rdz2; - gradHxgradA_2[12] = (1.060660171779821*apar[1]*hamil[21]-1.060660171779821*apar[5]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[13] = (1.060660171779821*apar[4]*hamil[14]-1.060660171779821*apar[6]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[14] = (1.060660171779821*apar[5]*hamil[14]-1.060660171779821*apar[3]*hamil[21])*rdx2*rdz2; - gradHxgradA_2[20] = (1.060660171779821*apar[4]*hamil[21]-1.060660171779821*apar[7]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[22] = (1.060660171779821*apar[7]*hamil[14]-1.060660171779821*apar[6]*hamil[21])*rdx2*rdz2; - - double gradHxgradA_3[48] = {0.}; - gradHxgradA_3[0] = (-(1.060660171779821*apar[5]*hamil[8])+1.060660171779821*apar[6]*hamil[7]-1.060660171779821*apar[1]*hamil[2]+1.060660171779821*hamil[1]*apar[2])*rdx2*rdy2; - gradHxgradA_3[1] = (-(1.060660171779821*apar[5]*hamil[16])+1.060660171779821*apar[7]*hamil[7]-1.060660171779821*apar[1]*hamil[6]+1.060660171779821*hamil[1]*apar[4])*rdx2*rdy2; - gradHxgradA_3[2] = (1.060660171779821*apar[6]*hamil[16]-1.060660171779821*apar[7]*hamil[8]+1.060660171779821*apar[2]*hamil[6]-1.060660171779821*hamil[2]*apar[4])*rdx2*rdy2; - gradHxgradA_3[3] = (-(1.060660171779821*apar[1]*hamil[8])+1.060660171779821*(apar[2]*hamil[7]+hamil[1]*apar[6])-1.060660171779821*hamil[2]*apar[5])*rdx2*rdy2; - gradHxgradA_3[5] = 1.060660171779821*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[7] = (-(1.060660171779821*apar[1]*hamil[16])+1.060660171779821*(apar[4]*hamil[7]+hamil[1]*apar[7])-1.060660171779821*apar[5]*hamil[6])*rdx2*rdy2; - gradHxgradA_3[8] = (1.060660171779821*apar[2]*hamil[16]-1.060660171779821*(apar[4]*hamil[8]+hamil[2]*apar[7])+1.060660171779821*apar[6]*hamil[6])*rdx2*rdy2; - gradHxgradA_3[12] = 1.060660171779821*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[14] = 1.060660171779821*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[21] = 1.060660171779821*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2*rdy2; - double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c index 6c5fd72170..37cbe773dc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c @@ -33,6 +33,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( hamil[1] = 0.5*vmapSq[1]*m_; hamil[2] = 0.5*vmapSq[2]*m_; + double apar_surf[3] = {0.}; + apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c index 3eeeb5d415..06aa03bcf5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c @@ -34,6 +34,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + double apar_surf[6] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c index 9e02f71820..83fbd9d73a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c index 7fbe75d6e9..8c775e0b8e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; - mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; - mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; - mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; - mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; - mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; - mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; - mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; - mvpargradA_2[2] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; - mvpargradA_2[7] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c index bdf4fffe43..e617ddb95c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c index 19c6e65cbd..3e950f1ca2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c @@ -48,28 +48,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; - mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; - mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; - mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; - mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; - mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; - mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; - mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -106,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +126,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -176,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -200,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,7 +206,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +220,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -256,7 +234,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -270,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -294,7 +272,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +286,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +300,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -336,7 +314,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -350,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -364,7 +342,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -388,7 +366,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -402,7 +380,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -416,7 +394,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -430,7 +408,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -444,7 +422,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -458,7 +436,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c index 8d9c86c30b..927f268fc5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; - mvpargradA_2[1] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; - mvpargradA_2[6] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; - mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; - mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; - mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; - mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; - mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; - mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; - mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; - double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c index ce84bee8cb..b577e243d0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c @@ -66,7 +66,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -81,7 +82,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -105,7 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -120,7 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -144,7 +148,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -159,7 +164,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -183,7 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -198,7 +205,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c index 8269c2ebbd..b7cd11600a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c @@ -45,44 +45,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; hamil[32] = 2.0*vmapSq[2]*m_; - double gradHxgradA_1[48] = {0.}; - gradHxgradA_1[0] = (-(1.060660171779821*apar[4]*hamil[7])+1.060660171779821*apar[5]*hamil[6]-1.060660171779821*apar[2]*hamil[3]+1.060660171779821*hamil[2]*apar[3])*rdy2*rdz2; - gradHxgradA_1[1] = (-(1.060660171779821*apar[2]*hamil[7])+1.060660171779821*(apar[3]*hamil[6]+hamil[2]*apar[5])-1.060660171779821*hamil[3]*apar[4])*rdy2*rdz2; - gradHxgradA_1[2] = (1.060660171779821*(hamil[6]*apar[7]+hamil[2]*apar[6])-1.060660171779821*(apar[4]*hamil[16]+apar[2]*hamil[8]))*rdy2*rdz2; - gradHxgradA_1[3] = (1.060660171779821*(apar[5]*hamil[16]+apar[3]*hamil[8])-1.060660171779821*(apar[7]*hamil[7]+hamil[3]*apar[6]))*rdy2*rdz2; - gradHxgradA_1[5] = -(1.060660171779821*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[6] = (1.060660171779821*(hamil[2]*apar[7]+apar[6]*hamil[6])-1.060660171779821*(apar[2]*hamil[16]+apar[4]*hamil[8]))*rdy2*rdz2; - gradHxgradA_1[7] = (1.060660171779821*(apar[3]*hamil[16]+apar[5]*hamil[8])-1.060660171779821*(apar[6]*hamil[7]+hamil[3]*apar[7]))*rdy2*rdz2; - gradHxgradA_1[12] = -(1.060660171779821*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[14] = -(1.060660171779821*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[21] = -(1.060660171779821*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdy2*rdz2); - - double gradHxgradA_2[48] = {0.}; - gradHxgradA_2[0] = (1.060660171779821*apar[4]*hamil[8]-1.060660171779821*apar[6]*hamil[6]+1.060660171779821*apar[1]*hamil[3]-1.060660171779821*hamil[1]*apar[3])*rdx2*rdz2; - gradHxgradA_2[1] = (1.060660171779821*(apar[4]*hamil[16]+apar[1]*hamil[7])-1.060660171779821*(hamil[6]*apar[7]+hamil[1]*apar[5]))*rdx2*rdz2; - gradHxgradA_2[2] = (1.060660171779821*apar[1]*hamil[8]-1.060660171779821*(apar[3]*hamil[6]+hamil[1]*apar[6])+1.060660171779821*hamil[3]*apar[4])*rdx2*rdz2; - gradHxgradA_2[3] = (-(1.060660171779821*apar[6]*hamil[16])+1.060660171779821*apar[7]*hamil[8]-1.060660171779821*apar[3]*hamil[7]+1.060660171779821*hamil[3]*apar[5])*rdx2*rdz2; - gradHxgradA_2[5] = (1.060660171779821*apar[1]*hamil[14]-1.060660171779821*apar[3]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[6] = (1.060660171779821*(apar[1]*hamil[16]+apar[4]*hamil[7])-1.060660171779821*(hamil[1]*apar[7]+apar[5]*hamil[6]))*rdx2*rdz2; - gradHxgradA_2[8] = (-(1.060660171779821*apar[3]*hamil[16])+1.060660171779821*apar[5]*hamil[8]-1.060660171779821*apar[6]*hamil[7]+1.060660171779821*hamil[3]*apar[7])*rdx2*rdz2; - gradHxgradA_2[12] = (1.060660171779821*apar[1]*hamil[21]-1.060660171779821*apar[5]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[13] = (1.060660171779821*apar[4]*hamil[14]-1.060660171779821*apar[6]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[14] = (1.060660171779821*apar[5]*hamil[14]-1.060660171779821*apar[3]*hamil[21])*rdx2*rdz2; - gradHxgradA_2[20] = (1.060660171779821*apar[4]*hamil[21]-1.060660171779821*apar[7]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[22] = (1.060660171779821*apar[7]*hamil[14]-1.060660171779821*apar[6]*hamil[21])*rdx2*rdz2; - - double gradHxgradA_3[48] = {0.}; - gradHxgradA_3[0] = (-(1.060660171779821*apar[5]*hamil[8])+1.060660171779821*apar[6]*hamil[7]-1.060660171779821*apar[1]*hamil[2]+1.060660171779821*hamil[1]*apar[2])*rdx2*rdy2; - gradHxgradA_3[1] = (-(1.060660171779821*apar[5]*hamil[16])+1.060660171779821*apar[7]*hamil[7]-1.060660171779821*apar[1]*hamil[6]+1.060660171779821*hamil[1]*apar[4])*rdx2*rdy2; - gradHxgradA_3[2] = (1.060660171779821*apar[6]*hamil[16]-1.060660171779821*apar[7]*hamil[8]+1.060660171779821*apar[2]*hamil[6]-1.060660171779821*hamil[2]*apar[4])*rdx2*rdy2; - gradHxgradA_3[3] = (-(1.060660171779821*apar[1]*hamil[8])+1.060660171779821*(apar[2]*hamil[7]+hamil[1]*apar[6])-1.060660171779821*hamil[2]*apar[5])*rdx2*rdy2; - gradHxgradA_3[5] = 1.060660171779821*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[7] = (-(1.060660171779821*apar[1]*hamil[16])+1.060660171779821*(apar[4]*hamil[7]+hamil[1]*apar[7])-1.060660171779821*apar[5]*hamil[6])*rdx2*rdy2; - gradHxgradA_3[8] = (1.060660171779821*apar[2]*hamil[16]-1.060660171779821*(apar[4]*hamil[8]+hamil[2]*apar[7])+1.060660171779821*apar[6]*hamil[6])*rdx2*rdy2; - gradHxgradA_3[12] = 1.060660171779821*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[14] = 1.060660171779821*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[21] = 1.060660171779821*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2*rdy2; - double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c index 05f7b0adce..7240774398 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c @@ -33,6 +33,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( hamil[1] = 0.5*vmapSq[1]*m_; hamil[2] = 0.5*vmapSq[2]*m_; + double apar_surf[3] = {0.}; + apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c index dc07ba9735..c0917aa28c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c @@ -34,6 +34,9 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + double apar_surf[6] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c index 3ef9053db6..256d3fa931 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c index c376c8f6ae..670244e151 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = 1.7320508075688772*vmap[0]*apar[1]*m_*rdx2; - mvpargradA_1[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdx2; - mvpargradA_1[2] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdx2; - mvpargradA_1[3] = 1.7320508075688772*apar[1]*vmap[1]*m_*rdx2; - mvpargradA_1[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdx2; - mvpargradA_1[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdx2; - mvpargradA_1[7] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdx2; - mvpargradA_1[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; - mvpargradA_2[2] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[4])*m_*rdy2; - mvpargradA_2[7] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[5])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[6]-3.0*apar[7])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[0]-0.25*mvpargradA_2[2]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_2[7])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_2[7]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[2]+0.25*mvpargradA_2[0]) * bhat_quad[2] - (0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[1]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c index 2310237393..496e3bc191 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,8 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -86,8 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -100,8 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -114,8 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -128,8 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -142,8 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[0]-0.3535533905932737*apar[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,8 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,8 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -194,8 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -208,8 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -222,8 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -236,8 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar[1]+0.3535533905932737*apar[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c index 81f0ab73ec..3b0af0a204 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c @@ -48,28 +48,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[4])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = 1.7320508075688772*vmap[0]*apar[2]*m_*rdy2; - mvpargradA_2[1] = 1.7320508075688772*vmap[0]*apar[4]*m_*rdy2; - mvpargradA_2[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdy2; - mvpargradA_2[3] = 1.7320508075688772*vmap[1]*apar[2]*m_*rdy2; - mvpargradA_2[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdy2; - mvpargradA_2[6] = 1.7320508075688772*vmap[1]*apar[4]*m_*rdy2; - mvpargradA_2[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdy2; - mvpargradA_2[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = vmap[0]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; - mvpargradA_3[1] = vmap[0]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; - mvpargradA_3[3] = vmap[1]*(1.7320508075688772*apar[3]-3.0*apar[6])*m_*rdz2; - mvpargradA_3[6] = vmap[1]*(1.7320508075688772*apar[5]-3.0*apar[7])*m_*rdz2; - double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -106,7 +84,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,7 +98,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,7 +112,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -148,7 +126,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -162,7 +140,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -176,7 +154,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -200,7 +178,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,7 +192,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,7 +206,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -242,7 +220,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]-0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -256,7 +234,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[0]-0.25*mvpargradA_3[1]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -270,7 +248,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])+0.33541019662496846*mvpargradA_3[3]-0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -294,7 +272,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -308,7 +286,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -322,7 +300,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -336,7 +314,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -350,7 +328,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -364,7 +342,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -388,7 +366,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -402,7 +380,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -416,7 +394,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -430,7 +408,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_3[6])-0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -444,7 +422,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -458,7 +436,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_3[6]+0.33541019662496846*mvpargradA_3[3]+0.25*mvpargradA_3[1]+0.25*mvpargradA_3[0]) * bhat_quad[0] - (0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[2]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c index d0c3c6c01a..ee0ef2c9bf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c @@ -46,28 +46,6 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - double mvpargradA_1[48] = {0.}; - mvpargradA_1[0] = vmap[0]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; - mvpargradA_1[2] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; - mvpargradA_1[3] = vmap[1]*(1.7320508075688772*apar[1]-3.0*apar[5])*m_*rdx2; - mvpargradA_1[7] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdx2; - - double mvpargradA_2[48] = {0.}; - mvpargradA_2[0] = vmap[0]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; - mvpargradA_2[1] = vmap[0]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; - mvpargradA_2[3] = vmap[1]*(1.7320508075688772*apar[2]-3.0*apar[6])*m_*rdy2; - mvpargradA_2[6] = vmap[1]*(1.7320508075688772*apar[4]-3.0*apar[7])*m_*rdy2; - - double mvpargradA_3[48] = {0.}; - mvpargradA_3[0] = 1.7320508075688772*vmap[0]*apar[3]*m_*rdz2; - mvpargradA_3[1] = 1.7320508075688772*vmap[0]*apar[5]*m_*rdz2; - mvpargradA_3[2] = 1.7320508075688772*vmap[0]*apar[6]*m_*rdz2; - mvpargradA_3[3] = 1.7320508075688772*vmap[1]*apar[3]*m_*rdz2; - mvpargradA_3[5] = 1.7320508075688772*vmap[0]*apar[7]*m_*rdz2; - mvpargradA_3[6] = 1.7320508075688772*vmap[1]*apar[5]*m_*rdz2; - mvpargradA_3[7] = 1.7320508075688772*vmap[1]*apar[6]*m_*rdz2; - mvpargradA_3[11] = 1.7320508075688772*vmap[1]*apar[7]*m_*rdz2; - double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -104,7 +82,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -118,7 +96,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,7 +110,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,7 +124,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -160,7 +138,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -174,7 +152,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -198,7 +176,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -212,7 +190,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -226,7 +204,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -240,7 +218,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]-0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -254,7 +232,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[0]-0.25*mvpargradA_2[1]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -268,7 +246,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])+0.33541019662496846*mvpargradA_2[3]-0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -292,7 +270,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -306,7 +284,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -320,7 +298,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -334,7 +312,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]-0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -348,7 +326,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[0]-0.25*mvpargradA_1[2]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -362,7 +340,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])+0.33541019662496846*mvpargradA_1[3]-0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -386,7 +364,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -400,7 +378,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -414,7 +392,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -428,7 +406,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((-(0.33541019662496846*mvpargradA_1[7])-0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (-(0.33541019662496846*mvpargradA_2[6])-0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -442,7 +420,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -456,7 +434,7 @@ GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * ((0.33541019662496846*mvpargradA_1[7]+0.33541019662496846*mvpargradA_1[3]+0.25*mvpargradA_1[2]+0.25*mvpargradA_1[0]) * bhat_quad[1] - (0.33541019662496846*mvpargradA_2[6]+0.33541019662496846*mvpargradA_2[3]+0.25*mvpargradA_2[1]+0.25*mvpargradA_2[0]) * bhat_quad[0]); + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index d2091dd046..f328a124fe 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -45,44 +45,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; hamil[32] = 2.0*vmapSq[2]*m_; - double gradHxgradA_1[48] = {0.}; - gradHxgradA_1[0] = (-(1.060660171779821*apar[4]*hamil[7])+1.060660171779821*apar[5]*hamil[6]-1.060660171779821*apar[2]*hamil[3]+1.060660171779821*hamil[2]*apar[3])*rdy2*rdz2; - gradHxgradA_1[1] = (-(1.060660171779821*apar[2]*hamil[7])+1.060660171779821*(apar[3]*hamil[6]+hamil[2]*apar[5])-1.060660171779821*hamil[3]*apar[4])*rdy2*rdz2; - gradHxgradA_1[2] = (1.060660171779821*(hamil[6]*apar[7]+hamil[2]*apar[6])-1.060660171779821*(apar[4]*hamil[16]+apar[2]*hamil[8]))*rdy2*rdz2; - gradHxgradA_1[3] = (1.060660171779821*(apar[5]*hamil[16]+apar[3]*hamil[8])-1.060660171779821*(apar[7]*hamil[7]+hamil[3]*apar[6]))*rdy2*rdz2; - gradHxgradA_1[5] = -(1.060660171779821*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[6] = (1.060660171779821*(hamil[2]*apar[7]+apar[6]*hamil[6])-1.060660171779821*(apar[2]*hamil[16]+apar[4]*hamil[8]))*rdy2*rdz2; - gradHxgradA_1[7] = (1.060660171779821*(apar[3]*hamil[16]+apar[5]*hamil[8])-1.060660171779821*(apar[6]*hamil[7]+hamil[3]*apar[7]))*rdy2*rdz2; - gradHxgradA_1[12] = -(1.060660171779821*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[14] = -(1.060660171779821*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdy2*rdz2); - gradHxgradA_1[21] = -(1.060660171779821*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdy2*rdz2); - - double gradHxgradA_2[48] = {0.}; - gradHxgradA_2[0] = (1.060660171779821*apar[4]*hamil[8]-1.060660171779821*apar[6]*hamil[6]+1.060660171779821*apar[1]*hamil[3]-1.060660171779821*hamil[1]*apar[3])*rdx2*rdz2; - gradHxgradA_2[1] = (1.060660171779821*(apar[4]*hamil[16]+apar[1]*hamil[7])-1.060660171779821*(hamil[6]*apar[7]+hamil[1]*apar[5]))*rdx2*rdz2; - gradHxgradA_2[2] = (1.060660171779821*apar[1]*hamil[8]-1.060660171779821*(apar[3]*hamil[6]+hamil[1]*apar[6])+1.060660171779821*hamil[3]*apar[4])*rdx2*rdz2; - gradHxgradA_2[3] = (-(1.060660171779821*apar[6]*hamil[16])+1.060660171779821*apar[7]*hamil[8]-1.060660171779821*apar[3]*hamil[7]+1.060660171779821*hamil[3]*apar[5])*rdx2*rdz2; - gradHxgradA_2[5] = (1.060660171779821*apar[1]*hamil[14]-1.060660171779821*apar[3]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[6] = (1.060660171779821*(apar[1]*hamil[16]+apar[4]*hamil[7])-1.060660171779821*(hamil[1]*apar[7]+apar[5]*hamil[6]))*rdx2*rdz2; - gradHxgradA_2[8] = (-(1.060660171779821*apar[3]*hamil[16])+1.060660171779821*apar[5]*hamil[8]-1.060660171779821*apar[6]*hamil[7]+1.060660171779821*hamil[3]*apar[7])*rdx2*rdz2; - gradHxgradA_2[12] = (1.060660171779821*apar[1]*hamil[21]-1.060660171779821*apar[5]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[13] = (1.060660171779821*apar[4]*hamil[14]-1.060660171779821*apar[6]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[14] = (1.060660171779821*apar[5]*hamil[14]-1.060660171779821*apar[3]*hamil[21])*rdx2*rdz2; - gradHxgradA_2[20] = (1.060660171779821*apar[4]*hamil[21]-1.060660171779821*apar[7]*hamil[12])*rdx2*rdz2; - gradHxgradA_2[22] = (1.060660171779821*apar[7]*hamil[14]-1.060660171779821*apar[6]*hamil[21])*rdx2*rdz2; - - double gradHxgradA_3[48] = {0.}; - gradHxgradA_3[0] = (-(1.060660171779821*apar[5]*hamil[8])+1.060660171779821*apar[6]*hamil[7]-1.060660171779821*apar[1]*hamil[2]+1.060660171779821*hamil[1]*apar[2])*rdx2*rdy2; - gradHxgradA_3[1] = (-(1.060660171779821*apar[5]*hamil[16])+1.060660171779821*apar[7]*hamil[7]-1.060660171779821*apar[1]*hamil[6]+1.060660171779821*hamil[1]*apar[4])*rdx2*rdy2; - gradHxgradA_3[2] = (1.060660171779821*apar[6]*hamil[16]-1.060660171779821*apar[7]*hamil[8]+1.060660171779821*apar[2]*hamil[6]-1.060660171779821*hamil[2]*apar[4])*rdx2*rdy2; - gradHxgradA_3[3] = (-(1.060660171779821*apar[1]*hamil[8])+1.060660171779821*(apar[2]*hamil[7]+hamil[1]*apar[6])-1.060660171779821*hamil[2]*apar[5])*rdx2*rdy2; - gradHxgradA_3[5] = 1.060660171779821*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[7] = (-(1.060660171779821*apar[1]*hamil[16])+1.060660171779821*(apar[4]*hamil[7]+hamil[1]*apar[7])-1.060660171779821*apar[5]*hamil[6])*rdx2*rdy2; - gradHxgradA_3[8] = (1.060660171779821*apar[2]*hamil[16]-1.060660171779821*(apar[4]*hamil[8]+hamil[2]*apar[7])+1.060660171779821*apar[6]*hamil[6])*rdx2*rdy2; - gradHxgradA_3[12] = 1.060660171779821*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[14] = 1.060660171779821*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2*rdy2; - gradHxgradA_3[21] = 1.060660171779821*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2*rdy2; - double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 9ba73aa959..9586cf6447 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -40,12 +40,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index aa10c2619c..33da4fed8c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -42,12 +42,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index 6ee59db3a7..002ed373e7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -40,12 +40,6 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; From 24ef656cc25d85fea7e1ab4183a3f31f4cb9db7a Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Mon, 20 Apr 2026 05:52:34 -0700 Subject: [PATCH 139/181] remove unused variable --- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 - 1 file changed, 1 deletion(-) diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 58183d6c43..42295acaea 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1251,7 +1251,6 @@ struct gk_field { bool update_field; // Are we updating the field?. bool calc_init_field; // Whether to compute the t=0 field. bool is_em; // Whether we solve the EM field equations. - bool freeze_apar; // Whether we set Apardot=0. struct gkyl_job_pool *job_pool; // Job pool // arrays for local charge density, global charge density, and global smoothed (in z) charge density From 3ee4437c2e072e5454e2def5b3d3036139267071 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 20 Apr 2026 09:08:05 -0400 Subject: [PATCH 140/181] add tool to potentially smooth Apar if required --- gyrokinetic/apps/gk_field.c | 4 ++++ gyrokinetic/apps/gk_field_2x3x.c | 6 ++++++ gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 + 3 files changed, 11 insertions(+) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 73e387cf21..8175022d97 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -224,6 +224,10 @@ gk_field_step_apar_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, st { // Apar^{n+1} = Apar^{n} + dt*dApar/dt gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); + + // Smooth along z. + // gk_field_fem_projection_par(app, field, field->apar, field->apar_smooth_aux); + // gkyl_array_copy_range(field->apar, field->apar_smooth_aux, &app->local_ext); } static void diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 9d8d3c1b51..7150c10614 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -246,6 +246,10 @@ gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field) gkyl_fem_poisson_perp_set_rhs(field->fem_apar_solver, field->currentDens); gkyl_fem_poisson_perp_solve(field->fem_apar_solver, field->apar); + // Smooth along z. + // gk_field_fem_projection_par(app, field, field->apar, field->apar_smooth_aux); + // gkyl_array_copy_range(field->apar, field->apar_smooth_aux, &app->local_ext); + field->invert_flr(app, field, field->apar); field->enforce_parallel_bc_em_func(app, field, field->apar); @@ -287,6 +291,7 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->aparnew); if (f->is_em) { + gkyl_array_release(f->apar_smooth_aux); gkyl_array_release(f->currentDens); gkyl_array_release(f->currentDensdot); gkyl_array_release(f->lapWeightAmpere); @@ -364,6 +369,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->apardot_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); } + f->apar_smooth_aux = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->currentDens = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->currentDensdot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->lapWeightAmpere = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 58183d6c43..0bcba75e7e 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1278,6 +1278,7 @@ struct gk_field { struct { struct gkyl_array *apar, *apar1, *aparnew; // Array for A_parallel and RK stages. struct gkyl_array *apar_curr; // A_parallel at current RK stage. + struct gkyl_array *apar_smooth_aux; // Auxiliary array for smoothing A_parallel in z. struct gkyl_array *apar_host; // Host copy for use IO. struct gkyl_array *apardot; // Array for d(A_parallel)/dt (solved through Ohm's law). struct gkyl_array *apardot_host; // Host copy for use IO. From 75a22165ce56f5c322b70b70907f39edad19ec48 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 20 Apr 2026 11:45:39 -0400 Subject: [PATCH 141/181] Apar is now computed from the initial state when starting from a frame --- gyrokinetic/apps/gyrokinetic.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index b5fedbf060..a89f01872f 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -677,10 +677,8 @@ gkyl_gyrokinetic_app_new_solver(struct gkyl_gk *gk, gkyl_gyrokinetic_app *app) app->field = gk_field_new(gk, app); // Initialize field, even if we are skipping field updates. // Choose the function that updates the fields in time. - if (app->field->update_field) - app->calc_field_func = gyrokinetic_calc_field_enabled; - else - app->calc_field_func = gyrokinetic_calc_field_disabled; + app->calc_field_func = app->field->update_field? + gyrokinetic_calc_field_enabled : gyrokinetic_calc_field_disabled; // Initialize the post-positivity quasineutrality enforcement. app->post_positivity_quasineut = false; @@ -3014,10 +3012,12 @@ gkyl_gyrokinetic_app_read_from_frame(gkyl_gyrokinetic_app *app, int frame) if (rstat.io_status == GKYL_ARRAY_RIO_SUCCESS) { // Compute the fields and apply BCs. struct gkyl_array *distf[app->num_species]; + struct gkyl_array *distfdot[app->num_species]; struct gkyl_array **bflux[app->num_species]; struct gkyl_array *distf_neut[app->num_neut_species]; for (int i=0; inum_species; ++i) { distf[i] = app->species[i].f; + distfdot[i] = app->species[i].f1; bflux[i] = app->species[i].bflux.f; } for (int i=0; inum_neut_species; ++i) { @@ -3042,6 +3042,16 @@ gkyl_gyrokinetic_app_read_from_frame(gkyl_gyrokinetic_app *app, int frame) // MF 2024/09/27/: Need the cast here for consistency. Fixing // this may require removing 'const' from a lot of places. gyrokinetic_calc_field(app, rstat.stime, (const struct gkyl_array **) distf, bflux); + + if (app->field->is_em) { + gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); + gk_field_calc_apar_ic(app, app->field); + for (int i=0; inum_species; ++i) { + struct gk_species *gk_s = &app->species[i]; + gk_species_rhs_star(app, gk_s, distf[i], distfdot[i], bflux[i]); + } + gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); + } } else { // Read the t=0 field. @@ -3186,8 +3196,7 @@ gkyl_gyrokinetic_app_reset_field(gkyl_gyrokinetic_app* app, double tm, { app->field->info.is_static = field_inp.is_static; app->field->update_field = !field_inp.is_static; - if (app->field->update_field) - app->calc_field_func = gyrokinetic_calc_field_enabled; - else - app->calc_field_func = gyrokinetic_calc_field_disabled; + + app->calc_field_func = app->field->update_field? + gyrokinetic_calc_field_enabled : gyrokinetic_calc_field_disabled; } From a6c6bbffaa63f053d3cf218e2b1676c903d9a5a3 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 23 Apr 2026 09:00:25 -0400 Subject: [PATCH 142/181] Add a new field info parameter that we can use to force an Ampere computation of the initial Apar. Otherwise, restarting from a frame will look for the Apar frame and load it instead of solving Ampere. We implement this because we see a discrepancy between solving Ampere from the species restart frame or loading the corresponding last Ampere frame. --- gyrokinetic/apps/gk_field.c | 1 + gyrokinetic/apps/gkyl_gyrokinetic.h | 1 + gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 + gyrokinetic/apps/gyrokinetic.c | 60 +++++++++++++++++++++--- 4 files changed, 56 insertions(+), 7 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 8175022d97..0cff93bc3a 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -405,6 +405,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->em_combine_func = gk_field_combine_disabled; f->em_copy_func = gk_field_copy_range_disabled; } + f->calc_init_apar = f->info.calc_init_apar; f->calc_init_field = !f->info.zero_init_field; f->update_field = !f->info.is_static; diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index c00bbbaa98..a68ab9eeed 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -489,6 +489,7 @@ struct gkyl_gyrokinetic_field { bool is_static; // =true field does not change in time. bool is_apar_static; // =true Apar at initial time is used for all time steps. bool zero_init_field; // =true doesn't compute the initial field. + bool calc_init_apar; // Whether to calculate the initial Apar from the initial condition of the distribution function. double polarization_bmag; double kperpSq; // kperp^2 parameter for 1D field equations diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 0417c7016a..abdd062504 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1251,6 +1251,7 @@ struct gk_field { bool update_field; // Are we updating the field?. bool calc_init_field; // Whether to compute the t=0 field. bool is_em; // Whether we solve the EM field equations. + bool calc_init_apar; // Whether to initialize A_parallel with Ampere's law solve. struct gkyl_job_pool *job_pool; // Job pool // arrays for local charge density, global charge density, and global smoothed (in z) charge density diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index a89f01872f..f4e719b18e 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -2873,6 +2873,31 @@ gkyl_gyrokinetic_app_from_file_field(gkyl_gyrokinetic_app *app, const char *fnam return rstat; } +struct gkyl_app_restart_status +gkyl_gyrokinetic_app_from_file_em(gkyl_gyrokinetic_app *app, const char *fname_apar, const char *fname_apardot) +{ + struct gkyl_app_restart_status rstat; + + rstat = header_from_file(app, fname_apar); + + if (rstat.io_status == GKYL_ARRAY_RIO_SUCCESS) { + rstat.io_status = + gkyl_comm_array_read(app->comm, &app->grid, &app->local, app->field->apar_host, fname_apar); + if (app->use_gpu) + gkyl_array_copy(app->field->apar, app->field->apar_host); + } + + rstat = header_from_file(app, fname_apardot); + if (rstat.io_status == GKYL_ARRAY_RIO_SUCCESS) { + rstat.io_status = + gkyl_comm_array_read(app->comm, &app->grid, &app->local, app->field->apardot_host, fname_apardot); + if (app->use_gpu) + gkyl_array_copy(app->field->apardot, app->field->apardot_host); + } + + return rstat; +} + struct gkyl_app_restart_status gkyl_gyrokinetic_app_from_file_species(gkyl_gyrokinetic_app *app, int sidx, const char *fname) @@ -2931,6 +2956,20 @@ gkyl_gyrokinetic_app_from_frame_field(gkyl_gyrokinetic_app *app, int frame) return rstat; } +struct gkyl_app_restart_status +gkyl_gyrokinetic_app_from_frame_em(gkyl_gyrokinetic_app *app, int frame) +{ + cstr fileNm_apar = cstr_from_fmt("%s-%s_%d.gkyl", app->name, "apar", frame); + cstr fileNm_apardot = cstr_from_fmt("%s-%s_%d.gkyl", app->name, "apardot", frame); + struct gkyl_app_restart_status rstat = gkyl_gyrokinetic_app_from_file_em(app, fileNm_apar.str, fileNm_apardot.str); + app->field->is_first_energy_write_call = false; // Append to existing diagnostic. + app->field->is_first_energy_dot_write_call = false; // Append to existing diagnostic. + cstr_drop(&fileNm_apar); + cstr_drop(&fileNm_apardot); + + return rstat; +} + struct gkyl_app_restart_status gkyl_gyrokinetic_app_from_frame_species(gkyl_gyrokinetic_app *app, int sidx, int frame) { @@ -3044,14 +3083,21 @@ gkyl_gyrokinetic_app_read_from_frame(gkyl_gyrokinetic_app *app, int frame) gyrokinetic_calc_field(app, rstat.stime, (const struct gkyl_array **) distf, bflux); if (app->field->is_em) { - gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); - gk_field_calc_apar_ic(app, app->field); - for (int i=0; inum_species; ++i) { - struct gk_species *gk_s = &app->species[i]; - gk_species_rhs_star(app, gk_s, distf[i], distfdot[i], bflux[i]); + if (app->field->calc_init_apar) { + // Compute Apar. + gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); + gk_field_calc_apar_ic(app, app->field); + // We also compute Apardot here to output the first frame. + for (int i=0; inum_species; ++i) { + struct gk_species *gk_s = &app->species[i]; + gk_species_rhs_star(app, gk_s, distf[i], distfdot[i], bflux[i]); + } + gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); + } else { + // Load Apar and Apardot from last frame. + gkyl_gyrokinetic_app_from_frame_em(app, frame); } - gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); - } + } } else { // Read the t=0 field. From 9ce537c14d5673c4eed63719887e0b2b34bc09e7 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 23 Apr 2026 14:58:48 -0400 Subject: [PATCH 143/181] change the structure of the EM GK solver to avoid redundant computation while keeping a correct upwinding. - There are no em_star or rhs_star naming anymore. - The base rhs function is either ES as usual or a partial RHS computation which include the ES + Apar vol and conf surf terms only (no vpar surf contribution). - This partial RHS is what is necessary to compute Apardot with Ohms law since we do not need vpar surf term there. - After that we call a new GK rhs updater that will only add Apardot volume term and the ES+Apar+Apardot vpar surf term. --- gyrokinetic/apps/gk_species.c | 48 +----- gyrokinetic/apps/gk_species_collisionless.c | 39 +++-- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 19 +-- gyrokinetic/apps/gyrokinetic.c | 19 ++- gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c | 2 +- .../creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c | 4 + ... => gk_collisionless_flux_surfconf_none.c} | 2 +- ..._collisionless_flux_surfconf_return_zero.c | 11 ++ .../gk_collisionless_flux_surfvpar_none.c | 11 ++ ..._collisionless_flux_surfvpar_return_zero.c | 11 ++ .../gkyl_gk_collisionless_flux_kernels.h | 12 +- gyrokinetic/zero/dg_gyrokinetic.c | 23 ++- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 25 +-- gyrokinetic/zero/dg_updater_gyrokinetic.c | 4 +- gyrokinetic/zero/gk_collisionless_flux.c | 6 +- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 8 +- gyrokinetic/zero/gkyl_dg_gyrokinetic.h | 4 +- gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h | 26 +++- .../zero/gkyl_dg_updater_gyrokinetic.h | 4 +- gyrokinetic/zero/gkyl_gk_collisionless_flux.h | 4 +- .../zero/gkyl_gk_collisionless_flux_priv.h | 146 +++++++++--------- 21 files changed, 237 insertions(+), 191 deletions(-) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surf_return_zero.c => gk_collisionless_flux_surfconf_none.c} (89%) create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_return_zero.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c create mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index de66da911f..3f8a95d16e 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -162,45 +162,11 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, } static void -gk_species_rhs_star_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_rhs_em_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - // Gyroaverage the potential if needed. - species->gyroaverage(app, species, app->field->phi_smooth, species->gyro_phi); - - gkyl_array_clear(species->cflrate, 0.0); - gkyl_array_clear(rhs, 0.0); - // Collisionless terms. - gk_species_collisionless_rhs_star(app, species, &species->collisionless, fin, rhs); - - // Damping term. - gk_species_damping_advance(app, species, &species->damping, app->field->phi_smooth, fin, - species->lte.f_lte, rhs, species->cflrate); - - // LBO Collisions. - gk_species_lbo_rhs(app, species, &species->lbo, fin, rhs); - - // BGK collisions. - gk_species_bgk_rhs(app, species, &species->bgk, fin, rhs); - - // Anomalous diffusion. - gk_species_anomalous_diff_rhs(app, species, &species->anom_diff, fin, rhs); - - // Line radiation. - gk_species_radiation_rhs(app, species, &species->rad, fin, rhs); - - // Reactions with charged species. - gk_species_react_rhs(app, species, &species->react, fin, rhs); - - // Reactions with neutral species. - gk_species_react_rhs(app, species, &species->react_neut, fin, rhs); - - // Heating source. - gk_species_heating_rhs(app, species, &species->heat_src, fin, rhs); - - // Particle + heat source terms. - gk_species_source_rhs(app, species, &species->src, fin, rhs); + gk_species_collisionless_rhs_em(app, species, &species->collisionless, fin, rhs); } static double @@ -1013,9 +979,9 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)){ - gks->rhs_star_func = gk_species_rhs_star_dynamic; + gks->rhs_em_func = gk_species_rhs_em_dynamic; } else { - gks->rhs_star_func = gk_species_rhs_static; + gks->rhs_em_func = gk_species_rhs_static; } gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; gks->bflux_update = gk_species_update_bflux_dynamic; @@ -1053,7 +1019,7 @@ gk_species_init_static(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app * // Set function pointers. gks->rhs_func = gk_species_rhs_static; - gks->rhs_star_func = gk_species_rhs_static; + gks->rhs_em_func = gk_species_rhs_static; gks->rhs_implicit_func = gk_species_rhs_implicit_static; gks->bflux_update = gk_species_rhs_static; gks->get_cfl = gk_species_get_cfl_static; @@ -1874,10 +1840,10 @@ gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, } void -gk_species_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - species->rhs_star_func(app, species, fin, rhs, bflux_moms); + species->rhs_em_func(app, species, fin, rhs, bflux_moms); } void diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index a90773e655..e5ecc20460 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -24,7 +24,7 @@ gk_species_collisionless_flux_enabled(gkyl_gyrokinetic_app *app, struct gk_speci } static void -gk_species_collisionless_flux_star_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_collisionless_flux_em_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin) { // Compute the surface expansion of the phase space flux for ES + Apar contributions. @@ -57,14 +57,17 @@ gk_species_collisionless_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_specie } static void -gk_species_collisionless_rhs_star_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_collisionless_rhs_em_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { struct timespec wst = gkyl_wall_clock(); - gkcls->flux_func_star(app, species, gkcls, fin); + // It is importnat to clear the flux_surf array since we already pushed the RHS once. + gkyl_array_clear(gkcls->flux_surf, 0.0); - gkyl_dg_updater_gyrokinetic_advance(gkcls->slvr_em_star, &species->local, + gkcls->flux_func_em_complete(app, species, gkcls, fin); + + gkyl_dg_updater_gyrokinetic_advance(gkcls->slvr_em_complete, &species->local, fin, species->cflrate, rhs); // AH Note: I'm not sure we need this here. @@ -125,7 +128,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; gkcls->flux_func = gk_species_collisionless_flux_disabled; gkcls->rhs_func = gk_species_collisionless_rhs_disabled; - gkcls->rhs_star_func = gk_species_collisionless_rhs_disabled; + gkcls->rhs_em_func = gk_species_collisionless_rhs_disabled; if (gkcls->collisionless_id) { @@ -169,10 +172,10 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie bctype_conf[GKYL_MAX_CDIM+d] = gks->upper_bc[d].type; } - bool em_star = false; + bool complete_em = false; gkcls->surf_flux_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, gks->info.charge, gks->info.mass, - gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, + gkcls->collisionless_id, gkcls->no_by, complete_em, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); struct gkyl_dg_gyrokinetic_auxfields aux_inp = { .flux_surf = gkcls->flux_surf, @@ -180,7 +183,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie // Create solver. gkcls->slvr = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, gks->vel_map, + gkcls->collisionless_id, gkcls->no_by, complete_em, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); gkcls->scale_fac = -1.0; // Not used if scale_factor in input file is not given. @@ -197,20 +200,21 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gkcls->flux_surf_ho = mkarr(false, gkcls->flux_surf->ncomp, gkcls->flux_surf->size); gkcls->write_diags_func = gk_species_collisionless_write_diags_enabled; } + // Electromagnetic set up. if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { // Set up ES + Apar contributions to flux and solver. - em_star = true; + complete_em = true; gkcls->surf_flux_em_star_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, - gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, + gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, complete_em, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); - gkcls->slvr_em_star = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, + gkcls->slvr_em_complete = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, &app->local, &gks->local, is_zero_flux, gks->info.charge, gks->info.mass, - gkcls->collisionless_id, gkcls->no_by, em_star, app->gk_geom, gks->vel_map, + gkcls->collisionless_id, gkcls->no_by, complete_em, app->gk_geom, gks->vel_map, &aux_inp, app->use_gpu); // Methods chosen at runtime. - gkcls->flux_func_star = gk_species_collisionless_flux_star_enabled; // ES + Apar. - gkcls->rhs_star_func = gk_species_collisionless_rhs_star_enabled; // ES + Apar. + gkcls->flux_func_em_complete = gk_species_collisionless_flux_em_enabled; + gkcls->rhs_em_func = gk_species_collisionless_rhs_em_enabled; } } } @@ -226,14 +230,15 @@ void gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { + // gkyl_array_clear(gkcls->flux_surf, 0.0); gkcls->rhs_func(app, species, gkcls, fin, rhs); } void -gk_species_collisionless_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_collisionless_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { - gkcls->rhs_star_func(app, species, gkcls, fin, rhs); + gkcls->rhs_em_func(app, species, gkcls, fin, rhs); } void @@ -254,7 +259,7 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { gkyl_gk_collisionless_flux_release(gkcls->surf_flux_em_star_op); - gkyl_dg_updater_gyrokinetic_release(gkcls->slvr_em_star); + gkyl_dg_updater_gyrokinetic_release(gkcls->slvr_em_complete); } if (gkcls->write_diagnostics) { diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index abdd062504..565d3fac9a 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -287,12 +287,12 @@ struct gk_collisionless { struct gkyl_gk_collisionless_flux *surf_flux_op; // Collisionless fluxes. struct gkyl_gk_collisionless_flux *surf_flux_em_star_op; // EM collisionless fluxes without Apardot contribution. gkyl_dg_updater_gyrokinetic *slvr; // Collisionless solver. - gkyl_dg_updater_gyrokinetic *slvr_em_star; // EM without Apardot contribution. + gkyl_dg_updater_gyrokinetic *slvr_em_complete; // EM without Apardot contribution. // Methods chosen at runtime. void (*flux_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin); - void (*flux_func_star)(gkyl_gyrokinetic_app *app, struct gk_species *species, + void (*flux_func_em_complete)(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin); }; // Neutral (Vlasov) species ............................................ // @@ -312,7 +312,7 @@ struct gk_collisionless { }; void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); - void (*rhs_star_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, + void (*rhs_em_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); void (*fdot_scaling)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, struct gkyl_array *rhs, struct gkyl_array *cflrate, struct gkyl_range *rng); @@ -1066,7 +1066,7 @@ struct gk_species { void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); // Pointer to RHS star function (ES + [Apar]). - void (*rhs_star_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + void (*rhs_em_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); void (*bflux_update)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); @@ -1846,7 +1846,7 @@ void gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species * * @param fin Input distribution function. * @param rhs collisionless contribution to df/dt. */ -void gk_species_collisionless_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *gks, +void gk_species_collisionless_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); /** @@ -3092,7 +3092,8 @@ void gk_species_apply_ic(gkyl_gyrokinetic_app *app, struct gk_species *species, void gk_species_apply_ic_cross(gkyl_gyrokinetic_app *app, struct gk_species *species, double t0); /** - * Compute RHS from species distribution function + * Compute RHS from species distribution function. + * In EM simulation, this does not include contribution from Apardot and vpar surface flux. * * @param app gyrokinetic app object. * @param species Pointer to species. @@ -3104,15 +3105,15 @@ void gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); /** - * Compute RHS star (ES + Apar) from species distribution function. - * + * Complete the EM RHS by adding the contribution from Apardot and vpar surface flux. + * * @param app gyrokinetic app object. * @param species Pointer to species. * @param fin Input distribution function. * @param rhs On output, the RHS from the species object. * @param bflux_moms Output boundary flux moments. */ -void gk_species_rhs_star(gkyl_gyrokinetic_app *app, struct gk_species *species, +void gk_species_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); /** diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index f4e719b18e..ed5e160a72 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -915,7 +915,7 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) gk_field_calc_apar_ic(app, app->field); for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - gk_species_rhs_star(app, gk_s, distf[i], distfdot[i], bflux[i]); + gk_species_rhs_em(app, gk_s, distf[i], distfdot[i], bflux[i]); } gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); } @@ -1928,23 +1928,26 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, gk_neut_species_scaling_cross_moms(app, gk_ns, &gk_ns->sca, fin, fin_neut); } - // Compute Apardot (solves Ohm's law using the previously built df/dt^*). - // Compute df/dt^* (ES + Apar) + // Build the GK RHS in two steps. + // 1. Configuration space surface fluxes and ES (+ Apar) volume terms. for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - gk_species_rhs_star(app, gk_s, fin[i], fout[i], bflux_out[i]); - gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); + gk_species_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); + // I don't think this is necessary. + // gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); } + // Compute Apardot (solves Ohm's law using the current state of the RHS). gk_field_em_rhs(app, app->field, fin, fout); // Update aparout. gk_field_em_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); - // Compute the total RHS. + // 2. Finish building the GK RHS (vpar surface flux and Apardot volume term). for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - gk_species_rhs(app, gk_s, fin[i], fout[i], bflux_out[i]); + gk_species_rhs_em(app, gk_s, fin[i], fout[i], bflux_out[i]); gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); } + for (int i=0; inum_neut_species; ++i) { struct gk_neut_species *gk_ns = &app->neut_species[i]; double dt1 = gk_neut_species_rhs(app, gk_ns, fin_neut[i], fout_neut[i], bflux_out_neut[i]); @@ -3090,7 +3093,7 @@ gkyl_gyrokinetic_app_read_from_frame(gkyl_gyrokinetic_app *app, int frame) // We also compute Apardot here to output the first frame. for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - gk_species_rhs_star(app, gk_s, distf[i], distfdot[i], bflux[i]); + gk_species_rhs_em(app, gk_s, distf[i], distfdot[i], bflux[i]); } gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); } else { diff --git a/gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c b/gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c index f77f672128..9053beaf62 100644 --- a/gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_kbm_3x2v_p1.c @@ -138,7 +138,7 @@ void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *c double x = xc[0], y = xc[1], z = xc[2]; fout[0] = 0.0; fout[1] = 0.0; - fout[2] = app->B*app->R/(app->R + x); + fout[2] = app->B*app->R/(app->R + x); // this may be wrong! } void mapc2p_vel_elc(double t, const double *vc, double* GKYL_RESTRICT vp, void *ctx) diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c index 6e22d63067..0906b72ec2 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c @@ -819,6 +819,10 @@ main(int argc, char **argv) .restart_frame = app_args.restart_frame, .num_steps = app_args.num_steps, }, + .print_verbosity = { + .enabled = true, + .frequency = 0.01, + } }; gkyl_gyrokinetic_run_simulation(&run_inp); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c similarity index 89% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c index abf19ca158..341b6e2c2c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surf_return_zero.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( +GKYL_CU_DH double gk_collisionless_flux_surfconf_none( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_return_zero.c new file mode 100644 index 0000000000..b8e1844650 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_return_zero.c @@ -0,0 +1,11 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_surfconf_return_zero( + const double *w, const double *dxv, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, + const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + return 0.0; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c new file mode 100644 index 0000000000..8be40ca284 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c @@ -0,0 +1,11 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_surfvpar_none( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + return 0.0; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c new file mode 100644 index 0000000000..6ebfb94492 --- /dev/null +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c @@ -0,0 +1,11 @@ +#include +GKYL_CU_DH double gk_collisionless_flux_surfvpar_return_zero( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) +{ + return 0.0; +} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index c908ee160b..7f6ddefc61 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -1159,12 +1159,20 @@ GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_surf_return_zero( +GKYL_CU_DH double gk_collisionless_flux_surfconf_none( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, + const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); +GKYL_CU_DH double gk_collisionless_flux_surfvpar_none( + const double *w, const double *dxv, + const double *vmap_prime_l, const double *vmap_prime_r, + const double *vmap, const double *vmapSq, const double q_, const double m_, + const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, + const double *bmag, const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); + EXTERN_C_END diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 3ffffef5dd..141e9357db 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -48,14 +48,14 @@ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu) { #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_dg_gyrokinetic_cu_dev_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, collless_type, no_by, em_star, gk_geom, vel_map); + charge, mass, collless_type, no_by, complete_em, gk_geom, vel_map); #endif struct dg_gyrokinetic *gyrokinetic = gkyl_malloc(sizeof(struct dg_gyrokinetic)); @@ -119,13 +119,20 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis // Setup electromagnetic terms if needed. bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); - gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_return_zero; - gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_return_zero; + gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_none; + gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; if (is_em) { - gyrokinetic->vol_add_apar_kernel = CK(vol_add_apar_kernels,cdim,vdim,poly_order); - // Apardot is removed if we want to compute RHS star (ES + Apardot). - gyrokinetic->vol_add_apardot_kernel = em_star ? - dg_gyrokinetic_add_apardot_vol_return_zero : CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + if (complete_em) { + // We complete with Apardot contribution to get the full GK RHS. + gyrokinetic->vol_es_kernel = dg_gyrokinetic_vol_none; + gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_none; + gyrokinetic->vol_add_apardot_kernel = CK(vol_add_apardot_kernels,cdim,vdim,poly_order); + } else { + // We build for Ohm's law RHS (no Apardot contribution). + gyrokinetic->vol_es_kernel = gyrokinetic->vol_es_kernel; // no change to ES kernel + gyrokinetic->vol_add_apar_kernel = CK(vol_add_apar_kernels,cdim,vdim,poly_order); + gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; + } } gyrokinetic->surf[0] = CK(surf_x_kernels,cdim,vdim,poly_order); diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 13857c3658..9ef0548f9f 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -39,7 +39,7 @@ gkyl_gyrokinetic_set_auxfields_cu(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_ __global__ static void dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_basis_type b_type, int cv_index, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type collless_type, - bool no_by, bool em_star) + bool no_by, bool complete_em) { gyrokinetic->auxfields.flux_surf = 0; gyrokinetic->auxfields.phi = 0; @@ -96,13 +96,20 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas // Setup electromagnetic terms if needed. bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); - gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_return_zero; - gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_return_zero; + gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_none; + gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; if (is_em) { - gyrokinetic->vol_add_apar_kernel = vol_add_apar_kernels[cv_index].kernels[poly_order]; - // Apardot is removed if we want to compute RHS star (ES + Apardot). - gyrokinetic->vol_add_apardot_kernel = em_star ? - dg_gyrokinetic_add_apardot_vol_return_zero : vol_add_apardot_kernels[cv_index].kernels[poly_order]; + if (complete_em) { + // We build Ohm's law RHS (no Apardot contribution). + gyrokinetic->vol_es_kernel = gyrokinetic->vol_es_kernel; // no change to ES kernel + gyrokinetic->vol_add_apar_kernel = vol_add_apar_kernels[cv_index].kernels[poly_order]; + gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; + } else { + // We complete the Ohm's law RHS with Apardot contribution to get the full GK RHS. + gyrokinetic->vol_es_kernel = dg_gyrokinetic_vol_none; + gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_none; + gyrokinetic->vol_add_apardot_kernel = vol_add_apardot_kernels[cv_index].kernels[poly_order]; + } } gyrokinetic->surf[0] = surf_x_kernels[cv_index].kernels[poly_order]; @@ -125,7 +132,7 @@ struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, - const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) + const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map) { struct dg_gyrokinetic *gyrokinetic = (struct dg_gyrokinetic*) gkyl_malloc(sizeof(*gyrokinetic)); @@ -159,7 +166,7 @@ gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gky gkyl_cu_memcpy(gyrokinetic_cu, gyrokinetic, sizeof(struct dg_gyrokinetic), GKYL_CU_MEMCPY_H2D); dg_gyrokinetic_set_cu_dev_ptrs<<<1,1>>>(gyrokinetic_cu, cbasis->b_type, cv_index[cdim].vdim[vdim], - cdim, vdim, poly_order, collless_type, no_by, em_star); + cdim, vdim, poly_order, collless_type, no_by, complete_em); // set parent on_dev pointer gyrokinetic->eqn.on_dev = &gyrokinetic_cu->eqn; diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index 2965355c82..9661bd05ca 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -22,7 +22,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu) { struct gkyl_dg_updater_gyrokinetic *up = gkyl_malloc(sizeof(struct gkyl_dg_updater_gyrokinetic)); @@ -30,7 +30,7 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, up->use_gpu = use_gpu; up->eqn_gyrokinetic = gkyl_dg_gyrokinetic_new(cbasis, pbasis, conf_range, phase_range, - charge, mass, collless_type, no_by, em_star, gk_geom, vel_map, up->use_gpu); + charge, mass, collless_type, no_by, complete_em, gk_geom, vel_map, up->use_gpu); struct gkyl_dg_gyrokinetic_auxfields *gk_inp = aux_inp; gkyl_gyrokinetic_set_auxfields(up->eqn_gyrokinetic, *gk_inp); diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index 5342fed2a7..af46dd313c 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -15,14 +15,14 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type type, - const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, + const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu) { #ifdef GKYL_HAVE_CUDA if (use_gpu) return gkyl_gk_collisionless_flux_cu_dev_new(phase_grid, conf_basis, phase_basis, - charge, mass, type, no_by, em_star, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); + charge, mass, type, no_by, complete_em, gk_geom, dg_geom, gk_dg_geom, vel_map, bctype_conf); #endif gkyl_gk_collisionless_flux *up = gkyl_malloc(sizeof(gkyl_gk_collisionless_flux)); @@ -45,7 +45,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, // Choose appropriate kernels. int em = ((type == GKYL_GK_COLLISIONLESS_EM) || (type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? 1 : 0; - em = em_star ? 2 : em; // If em_star is true, use EM kernels without Apardot contribution. + em = complete_em ? 2 : em; // If complete_em is true, use EM kernels without Apardot contribution. if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index 06494d9d4b..1ed5946f85 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -206,11 +206,11 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, __global__ static void gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, bool em, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, - bool no_by, bool em_star, + bool no_by, bool complete_em, const enum gkyl_gyrokinetic_bc_type *bctype_conf) { // Choose appropriate kernels. - em = em_star ? 2 : em; // If em_star is true, use EM kernels without Apardot contribution. + em = complete_em ? 2 : em; // If complete_em is true, use EM kernels without Apardot contribution. if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. @@ -239,7 +239,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type type, - const bool no_by, const bool em_star, + const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf) @@ -279,7 +279,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, struct gkyl_gk_collisionless_flux *up_cu = (struct gkyl_gk_collisionless_flux*) gkyl_cu_malloc(sizeof(*up_cu)); gkyl_cu_memcpy(up_cu, up, sizeof(gkyl_gk_collisionless_flux), GKYL_CU_MEMCPY_H2D); - gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, em, cdim, vdim, poly_order, type, no_by, em_star, bctype_conf_dev); + gk_collisionless_flux_set_cu_dev_ptrs<<<1,1>>>(up_cu, em, cdim, vdim, poly_order, type, no_by, complete_em, bctype_conf_dev); gkyl_cu_free(bctype_conf_dev); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h index df3f339de3..b230a71330 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic.h @@ -28,7 +28,7 @@ struct gkyl_dg_gyrokinetic_auxfields { * @param mass Species mass * @param collless_type Type of collisionless terms. * @param no_by Whether to neglect the toroidal field (set b_y=0). - * @param em_star Whether to compute RHS star (i.e. ES + Apardot) RHS for electromagnetic simulations. + * @param complete_em Whether to compute RHS star (i.e. ES + Apardot) RHS for electromagnetic simulations. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param use_gpu Boolean to determine if gyrokinetic equation object is on device @@ -37,7 +37,7 @@ struct gkyl_dg_gyrokinetic_auxfields { struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, bool use_gpu); diff --git a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h index 39ceb764fa..af3131daec 100644 --- a/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h +++ b/gyrokinetic/zero/gkyl_dg_gyrokinetic_priv.h @@ -107,7 +107,7 @@ kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const const double *bioverJB = (const double*) gkyl_array_cfetch(gyrokinetic->gk_geom->geo_int.bioverJB, cidx); // Electrostatic contribution to volume term. - cfl = gyrokinetic->vol_es_kernel(xc, dx, vm, vm_sq, gyrokinetic->charge, gyrokinetic->mass, + cfl += gyrokinetic->vol_es_kernel(xc, dx, vm, vm_sq, gyrokinetic->charge, gyrokinetic->mass, bmag, phi, dualcurlbhatoverB, rtg33inv, bioverJB, qIn, qRhsOut); // Add Apar contribution to volume term if needed. cfl += gyrokinetic->vol_add_apar_kernel(xc, dx, vm, vm_sq, gyrokinetic->charge, gyrokinetic->mass, @@ -118,19 +118,31 @@ kernel_dg_gyrokinetic_vol(const struct gkyl_dg_eqn *eqn, const double* xc, const return cfl; } -// To turn off EM effects: +// To turn off terms (used in EM). + +GKYL_CU_DH +static double +dg_gyrokinetic_vol_none(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *phi, + const double *dualcurlbhatoverB, const double *rtg33inv, const double *bioverJB, + const double *fin, double* GKYL_RESTRICT out) +{ + return 0.; +} + GKYL_CU_DH static double -dg_gyrokinetic_add_apar_vol_return_zero(const double *w, const double *dxv, const double *vmap, const double *vmapSq, - const double q_, const double m_, const double *bmag, const double *jacobtot_inv, const double *dualcurlbhatoverB, const double *bioverJB, - const double *b_i, const double *phi, const double *apar, const double *fin, double* GKYL_RESTRICT out) +dg_gyrokinetic_add_apar_vol_none(const double *w, const double *dxv, const double *vmap, const double *vmapSq, + const double q_, const double m_, const double *bmag, const double *jacobtot_inv, + const double *dualcurlbhatoverB, const double *bioverJB, const double *b_i, const double *phi, + const double *apar, const double *fin, double* GKYL_RESTRICT out) { return 0.; } GKYL_CU_DH static double -dg_gyrokinetic_add_apardot_vol_return_zero(const double *vmap, const double q_, const double m_, +dg_gyrokinetic_add_apardot_vol_none(const double *vmap, const double q_, const double m_, const double *apardot, const double *fin, double* GKYL_RESTRICT out) { return 0.; @@ -390,7 +402,7 @@ boundary_diag(const struct gkyl_dg_eqn *eqn, struct gkyl_dg_eqn* gkyl_dg_gyrokinetic_cu_dev_new(const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, - const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); + const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map); /** * CUDA device function to set the auxiliary fields (e.g. geometry & EM fields) diff --git a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h index 9e3cd36dec..d2d454ba23 100644 --- a/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h +++ b/gyrokinetic/zero/gkyl_dg_updater_gyrokinetic.h @@ -30,7 +30,7 @@ struct gkyl_dg_updater_gyrokinetic_tm { * @param mass Species mass * @param collless_type Type of collisionless terms. * @param no_by Whether to neglect the toroidal field (set b_y=0). - * @param em_star Whether it computes (ES + [Apar]) or [ES + [Apar + Apardot]). + * @param complete_em Whether it is meant to complete the RHS after partial EM update. * @param gk_geom Geometry struct * @param vel_map Velocity space mapping object. * @param aux_inp Void pointer to auxiliary fields. Void to be flexible to different auxfields structs @@ -41,7 +41,7 @@ gkyl_dg_updater_gyrokinetic* gkyl_dg_updater_gyrokinetic_new(const struct gkyl_r const struct gkyl_basis *cbasis, const struct gkyl_basis *pbasis, const struct gkyl_range *conf_range, const struct gkyl_range *phase_range, const bool *is_zero_flux_bc, double charge, double mass, - enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool em_star, + enum gkyl_gk_collisionless_type collless_type, const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_velocity_map *vel_map, void *aux_inp, bool use_gpu); /** diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h index 30ae5d541c..445433b980 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux.h @@ -25,7 +25,7 @@ typedef struct gkyl_gk_collisionless_flux gkyl_gk_collisionless_flux; * @param mass Species mass * @param collless_type Type of collisionless terms. * @param no_by Whether to neglect the toroidal field (set b_y=0). - * @param em_star Whether to compute fstar for Ohm's law. + * @param complete_em Whether it is meant to complete the RHS after partial EM update. * @param gk_geom Gyrokinetic geometry object. * @param gk_dg_geom DG geometry object. * @param vel_map Velocity space mapping object. @@ -38,7 +38,7 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, const double charge, const double mass, enum gkyl_gk_collisionless_type collless_type, - const bool no_by, const bool em_star, const struct gk_geometry *gk_geom, + const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf, bool use_gpu); diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 07e73a6594..8eaa13efbf 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -86,10 +86,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -115,10 +115,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -146,8 +146,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -175,8 +175,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -205,7 +205,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -234,7 +234,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -252,18 +252,18 @@ static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 3 }, }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_surfvpar_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -292,10 +292,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -321,10 +321,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list= { - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -352,8 +352,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -381,8 +381,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -411,7 +411,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -440,7 +440,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -470,10 +470,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -499,10 +499,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -530,8 +530,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -559,8 +559,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -589,7 +589,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -618,7 +618,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -636,18 +636,18 @@ static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 3 }, }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 }, } }; @@ -676,10 +676,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -705,10 +705,10 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu }, { .kernels_list = { - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -736,8 +736,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -765,8 +765,8 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu .kernels_list = { { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -795,7 +795,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -824,7 +824,7 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu { NULL, NULL, NULL }, // 0 { NULL, NULL, NULL }, // 1 { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 + { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 }, } }; @@ -956,7 +956,7 @@ struct gkyl_gk_collisionless_flux* gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, const struct gkyl_basis *conf_basis, const struct gkyl_basis *phase_basis, double charge, double mass, - enum gkyl_gk_collisionless_type type, const bool no_by, const bool em_star, + enum gkyl_gk_collisionless_type type, const bool no_by, const bool complete_em, const struct gk_geometry *gk_geom, const struct gkyl_dg_geom *dg_geom, const struct gkyl_gk_dg_geom *gk_dg_geom, const struct gkyl_velocity_map *vel_map, const enum gkyl_gyrokinetic_bc_type *bctype_conf); From 445820ca820baf5cb081d8d3a7bab1b5c9a1ef9d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 23 Apr 2026 15:31:42 -0400 Subject: [PATCH 144/181] additional optimization of EM: the two hyper DG updaters defined in EM case are now split, one for conf space surface flux, the other for vpar surface flux. We refactor the em specialized RHS function to `em_complete` instead of only `em` to be more specific. Works fine on CPU, test on GPU soon. Note: the single CPU alfven 3x2v went from 30s to 18s with the last commit, now it is closer to 15s. --- gyrokinetic/apps/gk_species.c | 17 +++++++++-------- gyrokinetic/apps/gk_species_collisionless.c | 13 +++++-------- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 8 ++++---- gyrokinetic/apps/gyrokinetic.c | 8 ++++---- gyrokinetic/zero/dg_updater_gyrokinetic.c | 19 +++++++++++++++++-- 5 files changed, 39 insertions(+), 26 deletions(-) diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 3f8a95d16e..a8057db600 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -162,11 +162,11 @@ gk_species_rhs_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, } static void -gk_species_rhs_em_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_rhs_em_complete_dynamic(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { // Collisionless terms. - gk_species_collisionless_rhs_em(app, species, &species->collisionless, fin, rhs); + gk_species_collisionless_rhs_em_complete(app, species, &species->collisionless, fin, rhs); } static double @@ -978,10 +978,11 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; - if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)){ - gks->rhs_em_func = gk_species_rhs_em_dynamic; + if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) + || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)){ + gks->rhs_em_complete_func = gk_species_rhs_em_complete_dynamic; } else { - gks->rhs_em_func = gk_species_rhs_static; + gks->rhs_em_complete_func = gk_species_rhs_static; } gks->rhs_implicit_func = gk_species_rhs_implicit_dynamic; gks->bflux_update = gk_species_update_bflux_dynamic; @@ -1019,7 +1020,7 @@ gk_species_init_static(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app * // Set function pointers. gks->rhs_func = gk_species_rhs_static; - gks->rhs_em_func = gk_species_rhs_static; + gks->rhs_em_complete_func = gk_species_rhs_static; gks->rhs_implicit_func = gk_species_rhs_implicit_static; gks->bflux_update = gk_species_rhs_static; gks->get_cfl = gk_species_get_cfl_static; @@ -1840,10 +1841,10 @@ gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, } void -gk_species_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_rhs_em_complete(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms) { - species->rhs_em_func(app, species, fin, rhs, bflux_moms); + species->rhs_em_complete_func(app, species, fin, rhs, bflux_moms); } void diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index e5ecc20460..5202d5499d 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -57,14 +57,11 @@ gk_species_collisionless_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_specie } static void -gk_species_collisionless_rhs_em_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_collisionless_rhs_em_complete_enabled(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { struct timespec wst = gkyl_wall_clock(); - // It is importnat to clear the flux_surf array since we already pushed the RHS once. - gkyl_array_clear(gkcls->flux_surf, 0.0); - gkcls->flux_func_em_complete(app, species, gkcls, fin); gkyl_dg_updater_gyrokinetic_advance(gkcls->slvr_em_complete, &species->local, @@ -128,7 +125,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie gkcls->write_diags_func = gk_species_collisionless_write_diags_disabled; gkcls->flux_func = gk_species_collisionless_flux_disabled; gkcls->rhs_func = gk_species_collisionless_rhs_disabled; - gkcls->rhs_em_func = gk_species_collisionless_rhs_disabled; + gkcls->rhs_em_complete_func = gk_species_collisionless_rhs_disabled; if (gkcls->collisionless_id) { @@ -214,7 +211,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie &aux_inp, app->use_gpu); // Methods chosen at runtime. gkcls->flux_func_em_complete = gk_species_collisionless_flux_em_enabled; - gkcls->rhs_em_func = gk_species_collisionless_rhs_em_enabled; + gkcls->rhs_em_complete_func = gk_species_collisionless_rhs_em_complete_enabled; } } } @@ -235,10 +232,10 @@ gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species *speci } void -gk_species_collisionless_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *species, +gk_species_collisionless_rhs_em_complete(gkyl_gyrokinetic_app *app, struct gk_species *species, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs) { - gkcls->rhs_em_func(app, species, gkcls, fin, rhs); + gkcls->rhs_em_complete_func(app, species, gkcls, fin, rhs); } void diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 565d3fac9a..36d16ed49b 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -312,7 +312,7 @@ struct gk_collisionless { }; void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); - void (*rhs_em_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, + void (*rhs_em_complete_func)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); void (*fdot_scaling)(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, struct gkyl_array *rhs, struct gkyl_array *cflrate, struct gkyl_range *rng); @@ -1066,7 +1066,7 @@ struct gk_species { void (*rhs_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); // Pointer to RHS star function (ES + [Apar]). - void (*rhs_em_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, + void (*rhs_em_complete_func)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); void (*bflux_update)(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); @@ -1846,7 +1846,7 @@ void gk_species_collisionless_rhs(gkyl_gyrokinetic_app *app, struct gk_species * * @param fin Input distribution function. * @param rhs collisionless contribution to df/dt. */ -void gk_species_collisionless_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *gks, +void gk_species_collisionless_rhs_em_complete(gkyl_gyrokinetic_app *app, struct gk_species *gks, struct gk_collisionless *gkcls, const struct gkyl_array *fin, struct gkyl_array *rhs); /** @@ -3113,7 +3113,7 @@ void gk_species_rhs(gkyl_gyrokinetic_app *app, struct gk_species *species, * @param rhs On output, the RHS from the species object. * @param bflux_moms Output boundary flux moments. */ -void gk_species_rhs_em(gkyl_gyrokinetic_app *app, struct gk_species *species, +void gk_species_rhs_em_complete(gkyl_gyrokinetic_app *app, struct gk_species *species, const struct gkyl_array *fin, struct gkyl_array *rhs, struct gkyl_array **bflux_moms); /** diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index ed5e160a72..c527ec97be 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -915,7 +915,7 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) gk_field_calc_apar_ic(app, app->field); for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - gk_species_rhs_em(app, gk_s, distf[i], distfdot[i], bflux[i]); + gk_species_rhs_em_complete(app, gk_s, distf[i], distfdot[i], bflux[i]); } gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); } @@ -1941,10 +1941,10 @@ gyrokinetic_rhs(gkyl_gyrokinetic_app* app, double tcurr, double dt, // Update aparout. gk_field_em_copy_range(app->field, aparout, app->field->apardot, &app->local_ext); - // 2. Finish building the GK RHS (vpar surface flux and Apardot volume term). + // 2. Finish building the EM GK RHS (vpar surface flux and Apardot volume term). for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - gk_species_rhs_em(app, gk_s, fin[i], fout[i], bflux_out[i]); + gk_species_rhs_em_complete(app, gk_s, fin[i], fout[i], bflux_out[i]); gk_species_update_bflux(app, gk_s, fin[i], fout[i], bflux_out[i]); } @@ -3093,7 +3093,7 @@ gkyl_gyrokinetic_app_read_from_frame(gkyl_gyrokinetic_app *app, int frame) // We also compute Apardot here to output the first frame. for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; - gk_species_rhs_em(app, gk_s, distf[i], distfdot[i], bflux[i]); + gk_species_rhs_em_complete(app, gk_s, distf[i], distfdot[i], bflux[i]); } gk_field_em_rhs(app, app->field, (const struct gkyl_array **) distf, distfdot); } else { diff --git a/gyrokinetic/zero/dg_updater_gyrokinetic.c b/gyrokinetic/zero/dg_updater_gyrokinetic.c index 9661bd05ca..8cdf75a9e0 100644 --- a/gyrokinetic/zero/dg_updater_gyrokinetic.c +++ b/gyrokinetic/zero/dg_updater_gyrokinetic.c @@ -37,9 +37,24 @@ gkyl_dg_updater_gyrokinetic_new(const struct gkyl_rect_grid *grid, int cdim = cbasis->ndim, pdim = pbasis->ndim; int vdim = pdim-cdim; + int up_dirs[GKYL_MAX_DIM] = {0}; - int num_up_dirs = cdim+1; - for (int d=0; d Date: Thu, 23 Apr 2026 13:49:02 -0700 Subject: [PATCH 145/181] logic error in the GPU code, something is still wrong in the GPU code since commit 9ce537c14d5673c4eed63719887e0b2b34bc09e7 --- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 9ef0548f9f..7da89ba3a0 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -100,15 +100,15 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; if (is_em) { if (complete_em) { - // We build Ohm's law RHS (no Apardot contribution). - gyrokinetic->vol_es_kernel = gyrokinetic->vol_es_kernel; // no change to ES kernel - gyrokinetic->vol_add_apar_kernel = vol_add_apar_kernels[cv_index].kernels[poly_order]; - gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; - } else { // We complete the Ohm's law RHS with Apardot contribution to get the full GK RHS. gyrokinetic->vol_es_kernel = dg_gyrokinetic_vol_none; gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_none; gyrokinetic->vol_add_apardot_kernel = vol_add_apardot_kernels[cv_index].kernels[poly_order]; + } else { + // We build Ohm's law RHS (no Apardot contribution). + gyrokinetic->vol_es_kernel = gyrokinetic->vol_es_kernel; // no change to ES kernel + gyrokinetic->vol_add_apar_kernel = vol_add_apar_kernels[cv_index].kernels[poly_order]; + gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; } } From ec00993d1be0d73ac874823eb2ee5e9fa7616596 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Thu, 23 Apr 2026 14:03:20 -0700 Subject: [PATCH 146/181] fix a boolean that should have been an int. This error was present since at least two months :o there. The GPU helical turb restarted nicely and we see a gain of speed from ~2.2 steps/s to ~2.8 steps/s. The Hemlhotlz solver is the next beast we have to optimize. the commit related to the weird boolean error is this: https://github.com/ammarhakim/gkeyll/blame/a6c6bbffaa63f053d3cf218e2b1676c903d9a5a3/gyrokinetic/zero/gk_collisionless_flux_cu.cu#:~:text=2%20months%20ago-,finish%20GPU%20implementation%20of%20full%20upwind%20em%20scheme.%20Tested%20in%20all%20alf%E2%80%A6,-212 --- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index 1ed5946f85..e21e34ee05 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -205,7 +205,7 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, // Doing function pointer stuff in here avoids troublesome cudaMemcpyFromSymbol __global__ static void gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, - bool em, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, + int em, int cdim, int vdim, int poly_order, enum gkyl_gk_collisionless_type type, bool no_by, bool complete_em, const enum gkyl_gyrokinetic_bc_type *bctype_conf) { From 08fafab13d5b282fc4197223bb362e9fdb4c6a63 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Thu, 23 Apr 2026 14:10:29 -0700 Subject: [PATCH 147/181] update the helical sol regression test with the fixed geometry. The geometry used in Mandell et al. 2020 does not pass the geometry right hand check. --- .../creg/rt_gk_em_helical_sol_3x2v_p1.c | 143 ++++++++++++------ 1 file changed, 100 insertions(+), 43 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c index 884967d33b..805f710e08 100644 --- a/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_helical_sol_3x2v_p1.c @@ -18,12 +18,9 @@ struct gk_app_ctx { // Geometry and magnetic field. double B_axis; - double R_axis; - double a_center; - double R_center; - double B_center; - double Lp; // Poloidal length (used to get the field line pitch). - double Lt; // Toroidal length (used to get the field line pitch). + double R0; + double Rc; + double Bv0; // Plasma parameters. double me; double qe; @@ -159,14 +156,66 @@ double driftSpeed(const double * GKYL_RESTRICT xn, void *ctx){ } } -// Magnetic field strength. -double bmag(const double *xc, void *ctx) +// Radial coordinate mapping. +double Rx(const double *xc, void *ctx) +{ + return xc[0]; +} + +// Toroidal magnetic field. +double Bphi(const double *xc, void *ctx) { double x = xc[0]; struct gk_app_ctx *app = ctx; double B_axis = app->B_axis; - double R_axis = app->R_axis; - return B_axis * R_axis/x; + double R0 = app->R0; + double R = Rx(xc, ctx); + return B_axis*R0/R; +} + +// Vertical magnetic field. +double Bvert(const double *xc, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double Bv0 = app->Bv0; + return Bv0; +} + +// Magnetic field magnitude. +double bmag(const double *xc, void *ctx) +{ + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + return sqrt(pow(Bt,2) + pow(Bv,2)); +} + +// Field line pitch. +double thetax(const double *xc, void *ctx) +{ + return asin(Bvert(xc, ctx)/bmag(xc, ctx)); +} + +// Parallel coordinate mapping. +double Zx(const double *xc, void *ctx) +{ + double theta = thetax(xc, ctx); + return xc[2]*sin(theta); +} + +double phix(const double *xc, void *ctx) +{ + double x = xc[0], y = xc[1], z = xc[2]; + struct gk_app_ctx *app = ctx; + double Rc = app->Rc; + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + + // double theta = asin(Lp/Lt); + // return (y/sin(theta) + z*cos(theta))/Rc; // Original Shi mapping. + + double theta = thetax(xc, ctx); + return (y/sin(theta) + z*cos(theta))/x; + // return y/Rc + (Bt * z*sin(theta))/(Bv * x); // Helical sheared mapping. } // Interface function calls. @@ -181,7 +230,15 @@ void temp_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT void upar_ion_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) { fout[0] = driftSpeed(xn, ctx); } void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) -{ fout[0] = bmag(xc, ctx); } +{ + // Cartesian formulation of the magnetic field. + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + double phi = phix(xc, ctx); + fout[0] = -Bt*sin(phi); + fout[1] = Bt*cos(phi); + fout[2] = Bv; +} void zero_func(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) { fout[0] = 0.0; } @@ -189,19 +246,13 @@ void zero_func(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT void mapc2p(double t, const double *xc, double* GKYL_RESTRICT xp, void *ctx) { double x = xc[0], y = xc[1], z = xc[2]; - - struct gk_app_ctx *app = ctx; - double R_center = app->R_center; - double Lp = app->Lp; - double Lt = app->Lt; - - double theta = asin(Lp/Lt); + + double theta = thetax(xc, ctx); // Map to cylindrical (R, Z, phi) coordinates. double R = x; double Z = z*sin(theta); - double phi = (y/sin(theta) + z*cos(theta))/R_center; - + double phi = phix(xc, ctx); // Map to Cartesian (X, Y, Z) coordinates. double X = R*cos(phi); double Y = R*sin(phi); @@ -231,17 +282,20 @@ create_ctx(void) // Geometry and magnetic field. double B_axis = 0.5; - double R_axis = 0.85; - double a_center = 0.5; // Minor radius of the center of the domain. - double R_center = R_axis + a_center; // Major radius of the center of the domain. - double B_center = B_axis*R_axis/R_center; // Magnetic field strength at the center of the domain. - double Lp = 2.4; // Poloidal length (used to get the field line pitch). - double Lt = 8.0; // Toroidal length (used to get the field line pitch). + double R0 = 0.85; + double a0 = 0.5; + double Lp = 2.4; // Poloidal length at x0. + double Lt = 8.0; // Toroidal length at x0. + double Rc = R0 + a0; + double B0 = B_axis*R0/Rc; + + double sintheta = Lp/Lt; + double Bv0 = B0*sintheta; // Source parameters. double P_SOL = 8.1e5; - double S0 = 5.7691e23*10; - double xSource = R_center - 0.05; + double S0 = 5.7691e23*10; // Multiplied by 10 to increase beta + double xSource = Rc - 0.05; double lambdaSource = 0.005; // Collisions; @@ -250,7 +304,7 @@ create_ctx(void) // Derived parameters. double vte = sqrt(Te0/me), vti = sqrt(Ti0/mi); // Thermal speeds. double c_s = sqrt(Te0/mi); // Sound speed. - double omega_ci = fabs(qi*B_center/mi); // Ion cyclotron frequency. + double omega_ci = fabs(qi*B0/mi); // Ion cyclotron frequency. double rho_s = c_s/omega_ci; // Ion sound gyroradius. // Box size. @@ -258,27 +312,27 @@ create_ctx(void) double Ly = 100*rho_s; double Lz = Lt; // [m] - double x_min = R_center - Lx/2; - double x_max = R_center + Lx/2; + double x_min = Rc - Lx/2; + double x_max = Rc + Lx/2; double y_min = -Ly/2; double y_max = Ly/2; double z_min = -Lz/2; double z_max = Lz/2; // Grid parameters - int Nx = 2; - int Ny = 2; + int Nx = 4; + int Ny = 4; int Nz = 4; int Nvpar = 4; int Nmu = 4; int poly_order = 1; double vpar_max_elc = 4.*vte; - double mu_max_elc = 12*me*pow(vte,2)/(2*B_center); + double mu_max_elc = 12*me*pow(vte,2)/(2*B0); double vpar_max_ion = 4.*vti; - double mu_max_ion = 12*mi*pow(vti,2)/(2*B_center); + double mu_max_ion = 12*mi*pow(vti,2)/(2*B0); - double t_end = 1.e-6; // End time, should terminate in 43 steps. + double t_end = 2.e-7; // End time, should terminate in 43 steps. int num_frames = 1; double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). int int_diag_calc_num = num_frames*100; @@ -289,12 +343,9 @@ create_ctx(void) .cdim = cdim, .vdim = vdim, .B_axis = B_axis, - .R_axis = R_axis, - .a_center = a_center, - .Lp = Lp, - .Lt = Lt, - .R_center = R_center, - .B_center = B_center, + .R0 = R0, + .Rc = Rc, + .Bv0 = Bv0, .Lx = Lx, .Ly = Ly, .Lz = Lz, @@ -506,6 +557,8 @@ main(int argc, char **argv) .num_integrated_diag_moments = 1, .integrated_diag_moments = { GKYL_F_MOMENT_HAMILTONIAN }, }, + + .time_rate_diagnostics = true, }; // field @@ -557,7 +610,6 @@ main(int argc, char **argv) } }; - // Set app output name from the executable name (argv[0]). snprintf(app_inp.name, sizeof(app_inp.name), "%s", app_args.app_name); struct gkyl_gyrokinetic_run_inp run_inp = { .app_inp = app_inp, @@ -572,6 +624,11 @@ main(int argc, char **argv) .restart_frame = app_args.restart_frame, .num_steps = app_args.num_steps, }, + .print_verbosity = { + .enabled = true, + .frequency = 1.0, + .disable_timings = true, + } }; gkyl_gyrokinetic_run_simulation(&run_inp); From b60c82d89582f2a560c86a3735cca48576c72cbd Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Fri, 24 Apr 2026 14:11:44 -0400 Subject: [PATCH 148/181] rename the helmholtz unit test --- ...tz_perp.c => ctest_fem_poisson_perp_kSq.c} | 311 +++++++----------- 1 file changed, 113 insertions(+), 198 deletions(-) rename gyrokinetic/unit/{ctest_fem_helmholtz_perp.c => ctest_fem_poisson_perp_kSq.c} (70%) diff --git a/gyrokinetic/unit/ctest_fem_helmholtz_perp.c b/gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c similarity index 70% rename from gyrokinetic/unit/ctest_fem_helmholtz_perp.c rename to gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c index bfbf4d7149..e7234c7a85 100644 --- a/gyrokinetic/unit/ctest_fem_helmholtz_perp.c +++ b/gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c @@ -39,6 +39,24 @@ static double error_L2norm(struct gkyl_rect_grid grid, struct gkyl_range range, return sqrt(l2[0]); } +static double field_L2norm(struct gkyl_rect_grid grid, struct gkyl_range range, + struct gkyl_basis basis, struct gkyl_array *field) +{ + // Compute the L2 norm of a single field. + struct gkyl_array *l2_cell = gkyl_array_new(GKYL_DOUBLE, 1, field->size); + gkyl_dg_calc_l2_range(basis, 0, l2_cell, 0, field, range); + gkyl_array_scale_range(l2_cell, grid.cellVolume, &range); + double l2[1]; + gkyl_array_reduce_range(l2, l2_cell, GKYL_SUM, &range); + gkyl_array_release(l2_cell); + return sqrt(l2[0]); +} + +// Return true when the HELMHOLTZ_OUTPUT env var is set (enables results file writing). +static bool helmholtz_write_output(void) { return getenv("HELMHOLTZ_OUTPUT") != NULL; } +// Return true when the HELMHOLTZ_VERBOSE env var is set (enables extra printf output). +static bool helmholtz_verbose(void) { return getenv("HELMHOLTZ_VERBOSE") != NULL; } + static struct gkyl_array* mkarr(bool use_gpu, long nc, long size) { @@ -68,7 +86,7 @@ static void evalFunc_ksquare(double t, const double *xn, double* restrict fout, fout[0] = ksquare(); // fout[0] *= cos(2*M_PI*x); fout[0] *= exp(4*M_PI*y); - // fout[0] *= sin(z)+2; + fout[0] *= sin(z)+2; } // RHS: rho(x,z) = (1.+kz*z+0.5*pow(z,2)) * sum_{m=1}^2 b_m sin(2*pi*m*x) @@ -148,42 +166,6 @@ void evalFunc_sol_periodicx_2x(double t, const double *xn, double* restrict fout fout[0] *= (1.+kz*z); } -// 3x cases -// RHS: rho(x,z) = (1.+kz*z+0.5*pow(z,2)) * sum_{m=1}^2 b_m sin(2*pi*m*x) -void evalFunc_rhs_dirichletx_dirichlety_3x(double t, const double *xn, double* restrict fout, void *ctx) -{ - double x = xn[0], y = xn[1], z = xn[2]; - // These values have to match those in the test below. - double bmn[] = {0.2, 0.5, -0.5}; - fout[0] = 0.; - for (int m=1; m<3; m++) { - double b = bmn[m-1]; - double kx = 2*M_PI*m; - double ky = 2*M_PI; - double t2 = b*sin(kx*x) * sin(ky*y); - fout[0] += t2; - } - double kz = 1.; - fout[0] *= (1.+kz*z+0.5*pow(z,2)); -} -// Solution: phi(x,z) = (1.+kz*z+0.5*pow(z,2)) * sum_{m=1}^2 b_m*sin(2*pi*m*x)/( (2*pi*m)^2 - kSq ) -void evalFunc_sol_dirichletx_dirichlety_3x(double t, const double *xn, double* restrict fout, void *ctx) -{ - double x = xn[0], y = xn[1], z = xn[2]; - // These values have to match those in the test below. - double bmn[] = {0.2, 0.5, -0.5}; - fout[0] = 0.; - for (int m=1; m<3; m++) { - double b = bmn[m-1]; - double kx = 2*M_PI*m; - double ky = 2*M_PI; - double t2 = b*sin(kx*x) * sin(ky*y)/(kx*kx + ky*ky - ksquare()); - fout[0] += t2; - } - double kz = 1.; - fout[0] *= (1.+kz*z+0.5*pow(z,2)); -} - double trig_func(double x, double y, bool laplacian) { double amn[] = {0.0, -1., 0., -0.0}; @@ -210,6 +192,27 @@ double z_envelope(double z) return 1.0; } +// 3x Dirichlet-Dirichlet cases — manufactured solution approach. +// Choose phi = sin(kx*x)*sin(ky*y)*z_envelope(z), which vanishes at x=0,1 and y=0,1. +// Derive rho from: -nabla_perp^2 phi + kSq(x,y)*phi = rho +// => rho = (kx^2 + ky^2)*phi + kSq(x,y)*phi +// This is consistent with any kSq(x,y), including the spatially varying evalFunc_ksquare. +void evalFunc_sol_dirichletx_dirichlety_3x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + double kx = M_PI, ky = M_PI; + fout[0] = sin(kx*x) * sin(ky*y) * z_envelope(z); +} +void evalFunc_rhs_dirichletx_dirichlety_3x(double t, const double *xn, double* restrict fout, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + double kx = M_PI, ky = M_PI; + double kSq_val[1]; + evalFunc_ksquare(t, xn, kSq_val, ctx); + double phi_val = sin(kx*x) * sin(ky*y) * z_envelope(z); + fout[0] = (kx*kx + ky*ky - kSq_val[0]) * phi_val; +} + void evalFunc_sol_dirichletx_periodicy_3x(double t, const double *xn, double* restrict fout, void *ctx) { double x = xn[0], y = xn[1], z = xn[2]; @@ -228,6 +231,39 @@ void evalFunc_rhs_dirichletx_periodicy_3x(double t, const double *xn, double* re fout[0] = -trig_func(x,y,true)*z_envelope(z) - kSq[0]*fsol[0]; } +// Check that the relative L2 error between numerical and analytical solutions is < 1%. +static void check_solution(struct gkyl_rect_grid grid, struct gkyl_range range, + struct gkyl_basis basis, struct gkyl_array *phi, struct gkyl_array *phisol) +{ + double err_L2 = error_L2norm(grid, range, basis, phi, phisol); + double sol_L2 = field_L2norm(grid, range, basis, phisol); + double rel_err = (sol_L2 > 0.0) ? err_L2 / sol_L2 : err_L2; + TEST_CHECK( rel_err < 0.01 ); + TEST_MSG("Relative L2 error = %.6e (threshold 1%%)", rel_err); + + if (helmholtz_verbose()) + printf("L2 error = %.6e, relative L2 error = %.6e\n", err_L2, rel_err); +} + +// Read 2x grid resolution from environment variables (or defaults). +static void get_2x_cells(int *cells) { + int nx = 32, nz = 48; + char *env; + if ((env = getenv("TEST_NX"))) nx = atoi(env); + if ((env = getenv("TEST_NZ"))) nz = atoi(env); + cells[0] = nx; cells[1] = nz; +} + +// Read 3x grid resolution from environment variables (or defaults). +static void get_3x_cells(int *cells) { + int nx = 32, ny = 24, nz = 8; + char *env; + if ((env = getenv("TEST_NX"))) nx = atoi(env); + if ((env = getenv("TEST_NY"))) ny = atoi(env); + if ((env = getenv("TEST_NZ"))) nz = atoi(env); + cells[0] = nx; cells[1] = ny; cells[2] = nz; +} + void test_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisson_bc bcs, bool use_gpu) { @@ -315,7 +351,7 @@ test_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisson #endif // Write data to text file for visualization (Python notebook can read this) - FILE *fp = fopen("helmholtz_2x_results.txt", "w"); + FILE *fp = helmholtz_write_output() ? fopen("helmholtz_2x_results.txt", "w") : NULL; if (fp) { fprintf(fp, "# x z phi_numerical phi_analytical\n"); struct gkyl_range_iter iter; @@ -332,46 +368,8 @@ test_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisson fclose(fp); } - // // Write parameters file for visualization. - // fp = fopen("helmholtz_2x_params.txt", "w"); - // if (fp) { - // fprintf(fp, "lower: %.16e %.16e\n", lower[0], lower[1]); - // fprintf(fp, "upper: %.16e %.16e\n", upper[0], upper[1]); - // fprintf(fp, "cells: %d %d\n", cells[0], cells[1]); - // fprintf(fp, "poly_order: %d\n", poly_order); - // fprintf(fp, "kSq: %.16e\n", kSq); - // fprintf(fp, "epsilon_0: %.16e\n", epsilon_0); - // fclose(fp); - // } - - // // Write parameters file for visualization. - // fp = fopen("helmholtz_2x_params.txt", "w"); - // if (fp) { - // fprintf(fp, "lower: %.16e %.16e\n", lower[0], lower[1]); - // fprintf(fp, "upper: %.16e %.16e\n", upper[0], upper[1]); - // fprintf(fp, "cells: %d %d\n", cells[0], cells[1]); - // fprintf(fp, "poly_order: %d\n", poly_order); - // fprintf(fp, "kSq: %.16e\n", kSq); - // fprintf(fp, "epsilon_0: %.16e\n", epsilon_0); - // fclose(fp); - // } - - // double errL2 = error_L2norm(grid, localRange, basis, phi_ho, phisol_ho); - // printf("\nerror L2 norm = %g\n",errL2); - // Compare solution to analytic result. - struct gkyl_range_iter iter; - gkyl_range_iter_init(&iter, &localRange); - while (gkyl_range_iter_next(&iter)) { - long loc = gkyl_range_idx(&localRange, iter.idx); - const double *phi_p = gkyl_array_cfetch(phi_ho, loc); - const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); - for (int m = 0; m < basis.num_basis; m++) { - // TEST_CHECK( gkyl_compare(phisol_p[m], phi_p[m], 1e-10) ); - // TEST_MSG("Expected: %.13e in cell (%d,%d)", phisol_p[m], iter.idx[0], iter.idx[1]); - // TEST_MSG("Produced: %.13e", phi_p[m]); - } - } + check_solution(grid, localRange, basis, phi_ho, phisol_ho); gkyl_fem_poisson_perp_release(poisson); gkyl_proj_on_basis_release(projob); @@ -479,69 +477,31 @@ test_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisson #endif // Write data to text file for visualization (Python notebook can read this) - // FILE *fp = fopen("helmholtz_3x_results.txt", "w"); - // if (fp) { - // fprintf(fp, "# x y z phi_numerical phi_analytical\n"); - // struct gkyl_range_iter iter; - // gkyl_range_iter_init(&iter, &localRange); - // while (gkyl_range_iter_next(&iter)) { - // double xc[3]; - // gkyl_rect_grid_cell_center(&grid, iter.idx, xc); - // long loc = gkyl_range_idx(&localRange, iter.idx); - // const double *phi_p = gkyl_array_cfetch(phi_ho, loc); - // const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); - // // Write cell center coordinates and the 0th basis coefficient (cell average) - // fprintf(fp, "%.16e %.16e %.16e %.16e %.16e\n", xc[0], xc[1], xc[2], phi_p[0]/dg0norm, phisol_p[0]/dg0norm); - // } - // fclose(fp); - // } - - // // Write parameters file for visualization. - // fp = fopen("helmholtz_3x_params.txt", "w"); - // if (fp) { - // fprintf(fp, "lower: %.16e %.16e %.16e\n", lower[0], lower[1], lower[2]); - // fprintf(fp, "upper: %.16e %.16e %.16e\n", upper[0], upper[1], upper[2]); - // fprintf(fp, "cells: %d %d %d\n", cells[0], cells[1], cells[2]); - // fprintf(fp, "poly_order: %d\n", poly_order); - // fprintf(fp, "kSq: %.16e\n", kSq); - // fprintf(fp, "epsilon_0: %.16e\n", epsilon_0); - // fclose(fp); - // } - - // double errL2 = error_L2norm(grid, localRange, basis, phi_ho, phisol_ho); - // printf("\nerror L2 norm = %g\n",errL2); + FILE *fp = helmholtz_write_output() ? fopen("helmholtz_3x_results.txt", "w") : NULL; + if (fp) { + fprintf(fp, "# x y z phi_numerical phi_analytical\n"); + struct gkyl_range_iter iter; + gkyl_range_iter_init(&iter, &localRange); + while (gkyl_range_iter_next(&iter)) { + double xc[3]; + gkyl_rect_grid_cell_center(&grid, iter.idx, xc); + long loc = gkyl_range_idx(&localRange, iter.idx); + const double *phi_p = gkyl_array_cfetch(phi_ho, loc); + const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); + // Write cell center coordinates and the 0th basis coefficient (cell average) + fprintf(fp, "%.16e %.16e %.16e %.16e %.16e\n", xc[0], xc[1], xc[2], phi_p[0]/dg0norm, phisol_p[0]/dg0norm); + } + fclose(fp); + } // Compare solution to analytic result. if (poly_order == 1) { - if ((bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET) && - (bcs.lo_type[1] == GKYL_POISSON_DIRICHLET && bcs.up_type[1] == GKYL_POISSON_DIRICHLET)) { - struct gkyl_range_iter iter; - gkyl_range_iter_init(&iter, &localRange); - while (gkyl_range_iter_next(&iter)) { - long loc = gkyl_range_idx(&localRange, iter.idx); - const double *phi_p = gkyl_array_cfetch(phi_ho, loc); - const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); - for (int m = 0; m < basis.num_basis; m++) { - TEST_CHECK( gkyl_compare(phisol_p[m], phi_p[m], 1e-10) ); - TEST_MSG("Expected: %.13e in cell (%d,%d,%d)", phisol_p[m], iter.idx[0], iter.idx[1], iter.idx[2]); - TEST_MSG("Produced: %.13e", phi_p[m]); - } - } - } else if ((bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET) && - (bcs.lo_type[1] == GKYL_POISSON_PERIODIC && bcs.up_type[1] == GKYL_POISSON_PERIODIC)) { - struct gkyl_range_iter iter; - gkyl_range_iter_init(&iter, &localRange); - while (gkyl_range_iter_next(&iter)) { - long loc = gkyl_range_idx(&localRange, iter.idx); - const double *phi_p = gkyl_array_cfetch(phi_ho, loc); - const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); - for (int m = 0; m < basis.num_basis; m++) { - TEST_CHECK( gkyl_compare(phisol_p[m], phi_p[m], 1e-10) ); - TEST_MSG("Expected: %.13e in cell (%d,%d,%d)", phisol_p[m], iter.idx[0], iter.idx[1], iter.idx[2]); - TEST_MSG("Produced: %.13e", phi_p[m]); - } - } - } else { + bool dd = (bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET); + bool ydir_ok = (bcs.lo_type[1] == GKYL_POISSON_DIRICHLET && bcs.up_type[1] == GKYL_POISSON_DIRICHLET) || + (bcs.lo_type[1] == GKYL_POISSON_PERIODIC && bcs.up_type[1] == GKYL_POISSON_PERIODIC); + if (dd && ydir_ok) + check_solution(grid, localRange, basis, phi_ho, phisol_ho); + else { TEST_CHECK( gkyl_compare(1., 2., 1e-10) ); TEST_MSG("This BC combination is not available"); } @@ -565,84 +525,39 @@ test_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisson // 2x test wrappers void test_2x_p1_dirichletx() { - // Read grid resolution from environment variables, or use defaults - int nx = 32, nz = 48; - char *env_nx = getenv("TEST_NX"); - char *env_nz = getenv("TEST_NZ"); - if (env_nx) nx = atoi(env_nx); - if (env_nz) nz = atoi(env_nz); - - int cells[] = {nx, nz}; + int cells[2]; get_2x_cells(cells); struct gkyl_poisson_bc bc_tv; - bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; - bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; - bc_tv.lo_value[0].v[0] = x_dirichletbc_lo(); - bc_tv.up_value[0].v[0] = x_dirichletbc_up(); + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_value[0].v[0] = x_dirichletbc_lo(); bc_tv.up_value[0].v[0] = x_dirichletbc_up(); test_fem_helmholtz_perp_2x(1, cells, bc_tv, false); } void test_2x_p1_periodicx() { - // Read grid resolution from environment variables, or use defaults - int nx = 32, nz = 48; - char *env_nx = getenv("TEST_NX"); - char *env_nz = getenv("TEST_NZ"); - if (env_nx) nx = atoi(env_nx); - if (env_nz) nz = atoi(env_nz); - - int cells[] = {nx, nz}; + int cells[2]; get_2x_cells(cells); struct gkyl_poisson_bc bc_tv; - bc_tv.lo_type[0] = GKYL_POISSON_PERIODIC; - bc_tv.up_type[0] = GKYL_POISSON_PERIODIC; - bc_tv.lo_value[0].v[0] = 0.; - bc_tv.up_value[0].v[0] = 0.; + bc_tv.lo_type[0] = GKYL_POISSON_PERIODIC; bc_tv.up_type[0] = GKYL_POISSON_PERIODIC; + bc_tv.lo_value[0].v[0] = 0.; bc_tv.up_value[0].v[0] = 0.; test_fem_helmholtz_perp_2x(1, cells, bc_tv, false); } - // 3x test wrappers void test_3x_p1_dirichletx_dirichlety() { - // Read grid resolution from environment variables, or use defaults - int nx = 32, ny = 16, nz = 2; - char *env_nx = getenv("TEST_NX"); - char *env_ny = getenv("TEST_NY"); - char *env_nz = getenv("TEST_NZ"); - if (env_nx) nx = atoi(env_nx); - if (env_ny) ny = atoi(env_ny); - if (env_nz) nz = atoi(env_nz); - - int cells[] = {nx, ny, nz}; + int cells[3]; get_3x_cells(cells); struct gkyl_poisson_bc bc_tv; - bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; - bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; - bc_tv.lo_type[1] = GKYL_POISSON_DIRICHLET; - bc_tv.up_type[1] = GKYL_POISSON_DIRICHLET; - bc_tv.lo_value[0].v[0] = 0.0; - bc_tv.up_value[0].v[0] = 0.0; - bc_tv.lo_value[1].v[0] = 0.0; - bc_tv.up_value[1].v[0] = 0.0; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_type[1] = GKYL_POISSON_DIRICHLET; bc_tv.up_type[1] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_value[0].v[0] = 0.; bc_tv.up_value[0].v[0] = 0.; + bc_tv.lo_value[1].v[0] = 0.; bc_tv.up_value[1].v[0] = 0.; test_fem_helmholtz_perp_3x(1, cells, bc_tv, false); } void test_3x_p1_dirichletx_periodicy() { - // Read grid resolution from environment variables, or use defaults - int nx = 32, ny = 16, nz = 2; - char *env_nx = getenv("TEST_NX"); - char *env_ny = getenv("TEST_NY"); - char *env_nz = getenv("TEST_NZ"); - if (env_nx) nx = atoi(env_nx); - if (env_ny) ny = atoi(env_ny); - if (env_nz) nz = atoi(env_nz); - - int cells[] = {nx, ny, nz}; + int cells[3]; get_3x_cells(cells); struct gkyl_poisson_bc bc_tv; - bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; - bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; - bc_tv.lo_type[1] = GKYL_POISSON_PERIODIC; - bc_tv.up_type[1] = GKYL_POISSON_PERIODIC; - bc_tv.lo_value[0].v[0] = 0.0; - bc_tv.up_value[0].v[0] = 0.0; - bc_tv.lo_value[1].v[0] = 0.; - bc_tv.up_value[1].v[0] = 0.; + bc_tv.lo_type[0] = GKYL_POISSON_DIRICHLET; bc_tv.up_type[0] = GKYL_POISSON_DIRICHLET; + bc_tv.lo_type[1] = GKYL_POISSON_PERIODIC; bc_tv.up_type[1] = GKYL_POISSON_PERIODIC; + bc_tv.lo_value[0].v[0] = 0.; bc_tv.up_value[0].v[0] = 0.; + bc_tv.lo_value[1].v[0] = 0.; bc_tv.up_value[1].v[0] = 0.; test_fem_helmholtz_perp_3x(1, cells, bc_tv, false); } From 8ab0a7f2a6fff956c3b47d79dc3c3924051bd743 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Sat, 25 Apr 2026 10:00:31 -0400 Subject: [PATCH 149/181] the merge between EM and poisson_perp compiles now, unit test passes, alfven looks ok but the tcv 3x2v reg test shows time step drop that should not occur. --- gyrokinetic/apps/gk_field_2x3x.c | 168 ++++-------------- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 - gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c | 67 +------ gyrokinetic/zero/fem_poisson_perp.c | 54 ++---- gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h | 5 - 5 files changed, 55 insertions(+), 240 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 2b45a179b2..0bfe30d489 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -189,64 +189,18 @@ gk_field_2x3x_add_IWL_updaters(struct gkyl_gyrokinetic_app *app, struct gk_field .shift_func_ctx = par_lower_bc->aux_ctx, .use_gpu = app->use_gpu, }; - // Add the forward TS updater to f - f->bc_ts_lo = gkyl_bc_twistshift_new(&ts_lo); - } - - // Add the SSFG updater for lower and upper application. - f->ssfg_z_lo = gkyl_skin_surf_from_ghost_new(par_dir, GKYL_LOWER_EDGE, - app->basis, &app->lower_skin_par_core, &app->lower_ghost_par_core, app->use_gpu); - - // Write the discrete shift to file. - if (app->cdim == 3) - gk_field_2x3x_write_twistshift(app, f); -} - -static void -gk_field_twistshift_enabled(struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar){ - gkyl_bc_twistshift_advance(up, fdo, ftar); -} - -static void -gk_field_twistshift_disabled(struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar){ - // Do nothing -} - -static void -gk_field_enforce_parallel_bc_enabled(const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout) -{ - // Apply the periodicity along the field to fill ghost cells. - int num_periodic_dir = 1; - int par_dir = app->cdim - 1; - int periodic_dirs[] = {par_dir}; - gkyl_comm_array_per_sync(app->comm, &app->local, &app->local_ext, - num_periodic_dir, periodic_dirs, finout); - - // Update the lower z ghosts with twist-and-shift if we are in 3x2v - field->twistshift_func(field->bc_ts_lo, finout, finout); + f->bc_ts_lo = gkyl_bc_twistshift_new(&T_LU_lo); - // Sync ghost cells between MPI processes. - gkyl_comm_array_sync(app->comm, &app->local, &app->local_ext, finout); + long buff_sz = GKYL_MAX2(app->global_lower_ghost_par_sol.volume, app->global_lower_ghost_par_core.volume); + f->bc_buffer = mkarr(app->use_gpu, app->basis.num_basis, buff_sz); - // Force the lower skin surface value to match the ghost cell at the node position. - gkyl_skin_surf_from_ghost_advance(field->ssfg_z_lo, finout); -} + f->gfss_bc_op_core_up = gkyl_bc_basic_gyrokinetic_new(par_dir, GKYL_UPPER_EDGE, GKYL_BC_GK_FIELD_BOUNDARY_VALUE, + app->basis_on_dev, &app->global_upper_skin_par_core, &app->global_upper_ghost_par_core, + app->basis.num_basis, app->cdim, app->use_gpu); -static void -gk_field_enforce_parallel_bc_em_enabled(const struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout) -{ - // Apply the periodicity along the field to fill ghost cells. - int num_periodic_dir = 1; - int par_dir = app->cdim - 1; - int periodic_dirs[] = {par_dir}; - gkyl_comm_array_per_sync(app->comm, &app->local, &app->local_ext, - num_periodic_dir, periodic_dirs, finout); - - // Update the lower z ghosts with twist-and-shift if we are in 3x2v - field->twistshift_func(field->bc_ts_lo, finout, finout); - - // Sync ghost cells between MPI processes. - gkyl_comm_array_sync(app->comm, &app->local, &app->local_ext, finout); + // Write the discrete shift to file. + gk_field_3x_write_twistshift(app, f); + } } static void @@ -260,37 +214,10 @@ gk_field_rhs_poisson_perp_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field gkyl_fem_poisson_perp_solve(field->fem_poisson_perp, field->phi_smooth); // Smooth the potential along z. - gk_field_fem_projection_par(app, field, field->phi_smooth, field->phi_smooth); + field->fem_projection_par_phi_func(app, field, field->phi_smooth, field->phi_smooth); // Finish the Poisson solve with FLR effects. field->invert_flr(app, field, field->phi_smooth); - - // Enforce a BC of the field in the parallel direction. - field->enforce_parallel_bc_func(app, field, field->phi_smooth); -} - -static void -gk_field_rhs_deflate_poisson_es_iwl(struct gkyl_gyrokinetic_app *app, struct gk_field *field) -{ - // Gather charge density into global array. - gkyl_comm_array_allgather(app->comm, &app->local, &app->global, field->rho_c, field->rho_c_global_dg); - - // Smooth the charge density. Input is rho_c_global_dg, globally smoothed in z, - // and then output should be in *local* phi_smooth. - gkyl_fem_parproj_set_rhs(field->fem_parproj_core, field->rho_c_global_dg, field->rho_c_global_dg); - gkyl_fem_parproj_solve(field->fem_parproj_core, field->rho_c_global_smooth); - gkyl_fem_parproj_set_rhs(field->fem_parproj_sol, field->rho_c_global_dg, field->rho_c_global_dg); - gkyl_fem_parproj_solve(field->fem_parproj_sol, field->rho_c_global_smooth); - - // Solve the Poisson equation. - gkyl_deflated_fem_poisson_advance(field->fem_poisson_deflated, field->rho_c_global_smooth, - field->phi_bc, field->phi_smooth); - - // Finish the Poisson solve with FLR effects. - field->invert_flr(app, field, field->phi_smooth); - - // Enforce a BC of the field in the parallel direction. - field->enforce_parallel_bc_func(app, field, field->phi_smooth); } static void @@ -303,7 +230,7 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ // Temporary solution to avoid superLU leak when updating kSq: we release and re-create the solver gkyl_fem_poisson_perp_release(field->fem_apardot_solver); field->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &field->ampere_bcs, field->lapWeightAmpere, field->dApartdtSlvr_kSq, app->use_gpu); + &field->ampere_bcs, field->info.bias_line_list, field->lapWeightAmpere, field->dApartdtSlvr_kSq, app->use_gpu); gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); @@ -326,7 +253,6 @@ gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field) field->invert_flr(app, field, field->apar); - field->enforce_parallel_bc_em_func(app, field, field->apar); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -341,7 +267,6 @@ gk_field_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, const gk_field_accumulate_current_dens_dot(app, field, rhs_in); gk_field_accumulate_ohms_kSq(app, field, f_in); gk_field_ohm_solve(app, field); - field->enforce_parallel_bc_em_func(app, field, field->apardot); } static void @@ -395,18 +320,10 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_integrate_release(f->calc_em_energy); // Release IWL updaters. - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { gkyl_fem_parproj_release(f->fem_parproj_core); gkyl_fem_parproj_release(f->fem_parproj_sol); - } - if (f->is_em || !(f->gkfield_id == GKYL_GK_FIELD_ES_IWL)) { - gkyl_fem_parproj_release(f->fem_parproj); - } - gkyl_array_integrate_release(f->calc_em_energy); - - // Release TS BC and SSFG updater - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { if (app->cdim == 3) { gkyl_bc_twistshift_release(f->bc_ts_lo); gkyl_bc_basic_gyrokinetic_release(f->gfss_bc_op_core_up); @@ -491,9 +408,6 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_set(f->apar_energy_fac, -0.5, f->lapWeightAmpere); } - // Translate input file BCs into Poisson BCs. - struct gkyl_poisson_bc poisson_bcs = { }; - bool bc_is_np[GKYL_MAX_CDIM]; // Is the BC in this direction non-periodic? for (int d=0; dcdim; ++d) bc_is_np[d] = true; for (int d=0; dnum_periodic_dir; ++d) { @@ -566,39 +480,20 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(phi_bc_ho); } - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { - f->rhs_phi_func = gk_field_rhs_deflate_poisson_es_iwl; - enum gkyl_fem_parproj_bc_type fem_parproj_bc_core, fem_parproj_bc_sol; - if (app->cdim == 2) { - fem_parproj_bc_core = GKYL_FEM_PARPROJ_PERIODIC; - fem_parproj_bc_sol = GKYL_FEM_PARPROJ_NONE; - } else { - fem_parproj_bc_core = GKYL_FEM_PARPROJ_NONE; - fem_parproj_bc_sol = GKYL_FEM_PARPROJ_NONE; - } - - f->fem_parproj_core = gkyl_fem_parproj_new(&app->global_core, &app->basis, - fem_parproj_bc_core, 0, 0, app->use_gpu); - f->fem_parproj_sol = gkyl_fem_parproj_new(&app->global_sol, &app->basis, - fem_parproj_bc_sol, 0, 0, app->use_gpu); - } else { - f->rhs_phi_func = gk_field_rhs_poisson_perp_2x3x; - } - - if (f->is_em || !(f->gkfield_id == GKYL_GK_FIELD_ES_IWL)) { + // Potential smoothing (in z) updater enum gkyl_fem_parproj_bc_type fem_parproj_bc = GKYL_FEM_PARPROJ_NONE; - for (int d=0; dnum_periodic_dir; ++d) { - if (app->periodic_dirs[d] == app->cdim-1) { - fem_parproj_bc = GKYL_FEM_PARPROJ_PERIODIC; - } - } + for (int d=0; dnum_periodic_dir; ++d) + if (app->periodic_dirs[d] == app->cdim-1) fem_parproj_bc = GKYL_FEM_PARPROJ_PERIODIC; + f->fem_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, fem_parproj_bc, 0, 0, app->use_gpu); - } + f->fem_projection_par_rho_func = gk_field_fem_projection_par; + f->fem_projection_par_phi_func = gk_field_fem_projection_par; + + // Setup EM solvers. f->ampere_solve = gk_field_ampere_solve_none; f->em_rhs_func = gk_field_em_rhs_none; - // Setup EM solvers. if (f->is_em) { // Translate input file BCs into Ampere BCs. for (int d=0; dcdim-1; d++) { @@ -623,10 +518,10 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) } // FEM solver for Ampere equation (solved at IC only). f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->ampere_bcs, f->lapWeightAmpere, NULL, app->use_gpu); + &f->ampere_bcs, f->info.bias_line_list, f->lapWeightAmpere, NULL, app->use_gpu); // FEM solver for Ohm's law (evolves d(Apart)/dt). f->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->ampere_bcs, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + &f->ampere_bcs, f->info.bias_line_list, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); // FEM smoother for Aparallel. f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, @@ -636,6 +531,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->em_rhs_func = f->info.is_apar_static ? gk_field_em_rhs_none : gk_field_em_rhs_enabled; } + // Updater for field energy calculation. gkyl_array_set(f->es_energy_fac, 0.5, f->epsilon); f->calc_em_energy = gkyl_array_integrate_new(&app->grid, &app->basis, 1, GKYL_ARRAY_INTEGRATE_OP_EPS_GRADPERP_SQ, app->use_gpu); @@ -654,17 +550,13 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) } // Twist-and-shift boundary condition for phi and skin surface from ghost to impose phi periodicity at z=-pi. - f->enforce_parallel_bc_func = gk_field_enforce_parallel_bc_disabled; - f->enforce_parallel_bc_em_func = gk_field_enforce_parallel_bc_disabled; - f->twistshift_func = gk_field_twistshift_disabled; - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { - gk_field_2x3x_add_TSBC_and_SSFG_updaters(app,f); - if (app->cdim == 3) - f->twistshift_func = gk_field_twistshift_enabled; - f->enforce_parallel_bc_func = gk_field_enforce_parallel_bc_enabled; - if (f->is_em) - f->enforce_parallel_bc_em_func = gk_field_enforce_parallel_bc_em_enabled; + if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + gk_field_2x3x_add_IWL_updaters(app, f); } - f->solver_release_func = gk_field_fem_release_2x3x; + // Set the pointer to the function that computes phi. + f->rhs_phi_func = gk_field_rhs_poisson_perp_2x3x; + + // Set pointer to function that releases memory. + f->release_func = gk_field_fem_release_2x3x; } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index b6cdd1fe0f..9054507dca 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1359,7 +1359,6 @@ struct gk_field { struct gkyl_array *arr_dg, struct gkyl_array *arr_fem); void (*fem_projection_par_phi_func)(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *arr_dg, struct gkyl_array *arr_fem); - void (*enforce_parallel_bc_em_func) (const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout); void (*twistshift_func) (struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar); // Pointer to function for electromagnetic field solve. diff --git a/gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c b/gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c index c8fe56a2a7..6a0ee473ae 100644 --- a/gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c +++ b/gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c @@ -233,23 +233,6 @@ void evalFunc_rhs_dirichletx_periodicy_3x(double t, const double *xn, double* re fout[0] = -trig_func(x,y,true)*z_envelope(z) - kSq[0]*fsol[0]; } -<<<<<<<< HEAD:gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c -// Check that the relative L2 error between numerical and analytical solutions is < 1%. -static void check_solution(struct gkyl_rect_grid grid, struct gkyl_range range, - struct gkyl_basis basis, struct gkyl_array *phi, struct gkyl_array *phisol) -{ - double err_L2 = error_L2norm(grid, range, basis, phi, phisol); - double sol_L2 = field_L2norm(grid, range, basis, phisol); - double rel_err = (sol_L2 > 0.0) ? err_L2 / sol_L2 : err_L2; - TEST_CHECK( rel_err < 0.01 ); - TEST_MSG("Relative L2 error = %.6e (threshold 1%%)", rel_err); - - if (helmholtz_verbose()) - printf("L2 error = %.6e, relative L2 error = %.6e\n", err_L2, rel_err); -} - -======== ->>>>>>>> origin/ctest_helmholtz_perp:gyrokinetic/unit/ctest_fem_poisson_perp_ksq.c // Read 2x grid resolution from environment variables (or defaults). static void get_2x_cells(int *cells) { int nx = 32, nz = 48; @@ -261,7 +244,7 @@ static void get_2x_cells(int *cells) { // Read 3x grid resolution from environment variables (or defaults). static void get_3x_cells(int *cells) { - int nx = 32, ny = 24, nz = 8; + int nx = 8, ny = 8, nz = 4; char *env; if ((env = getenv("TEST_NX"))) nx = atoi(env); if ((env = getenv("TEST_NY"))) ny = atoi(env); @@ -269,10 +252,6 @@ static void get_3x_cells(int *cells) { cells[0] = nx; cells[1] = ny; cells[2] = nz; } -<<<<<<<< HEAD:gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c -void -test_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisson_bc bcs, bool use_gpu) -======== // Introduce eps and ksq factors. static void introduce_factors(struct gkyl_array *eps, struct gkyl_array *kSqFld) { gkyl_array_scale(eps, eps_factor()); @@ -287,7 +266,6 @@ static void remove_factors(struct gkyl_array *eps, struct gkyl_array *kSqFld) { static double solve_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisson_bc bcs, bool use_gpu, double *sol_L2_out) ->>>>>>>> origin/ctest_helmholtz_perp:gyrokinetic/unit/ctest_fem_poisson_perp_ksq.c { double epsilon_0 = 1.0; double kSq = ksquare(); // Helmholtz wave number squared. @@ -367,7 +345,7 @@ solve_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisso // Set the RHS source. gkyl_fem_poisson_perp_set_rhs(poisson, rho); - // Solve the problem. + // Solve the problem once, to allow kSq and epsilon modification. gkyl_fem_poisson_perp_solve(poisson, phi); // Remove the factor and correct the solver's internal kSq and epsilon field accordingly. @@ -386,11 +364,7 @@ solve_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisso #endif // Write data to text file for visualization (Python notebook can read this) -<<<<<<<< HEAD:gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c - FILE *fp = helmholtz_write_output() ? fopen("helmholtz_2x_results.txt", "w") : NULL; -======== FILE *fp = helmholtz_write_output() ? fopen("ctest_fem_poisson_perp_ksq_results.txt", "w") : NULL; ->>>>>>>> origin/ctest_helmholtz_perp:gyrokinetic/unit/ctest_fem_poisson_perp_ksq.c if (fp) { fprintf(fp, "# x z phi_numerical phi_analytical\n"); struct gkyl_range_iter iter; @@ -407,14 +381,9 @@ solve_fem_helmholtz_perp_2x(int poly_order, const int *cells, struct gkyl_poisso fclose(fp); } -<<<<<<<< HEAD:gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c - // Compare solution to analytic result. - check_solution(grid, localRange, basis, phi_ho, phisol_ho); -======== double err_L2 = error_L2norm(grid, localRange, basis, phi_ho, phisol_ho); if (sol_L2_out) *sol_L2_out = field_L2norm(grid, localRange, basis, phisol_ho); ->>>>>>>> origin/ctest_helmholtz_perp:gyrokinetic/unit/ctest_fem_poisson_perp_ksq.c gkyl_fem_poisson_perp_release(poisson); gkyl_proj_on_basis_release(projob); @@ -508,13 +477,15 @@ solve_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisso // Analytic solution. struct gkyl_array *phisol_ho = mkarr(false, basis.num_basis, localRange_ext.volume); // Device copies: - struct gkyl_array *rho_ho, *phi_ho; + struct gkyl_array *rho_ho, *phi_ho, *kSq_ho; if (use_gpu) { rho_ho = mkarr(false, rho->ncomp, rho->size); phi_ho = mkarr(false, phi->ncomp, phi->size); + kSq_ho = mkarr(false, kSqFld->ncomp, kSqFld->size); } else { rho_ho = gkyl_array_acquire(rho); phi_ho = gkyl_array_acquire(phi); + kSq_ho = gkyl_array_acquire(kSqFld); } // Project RHS charge density on basis. @@ -528,8 +499,8 @@ solve_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisso gkyl_array_shiftc(eps, epsilon_0 * dg0norm, 2 * basis.num_basis); // Project kSq onto the basis. - // gkyl_array_shiftc(kSqFld, kSq * dg0norm, 0); - gkyl_proj_on_basis_advance(projob_kSq, 0.0, &localRange, kSqFld); + gkyl_proj_on_basis_advance(projob_kSq, 0.0, &localRange, kSq_ho); + gkyl_array_copy(kSqFld, kSq_ho); // Project the analytic solution. gkyl_proj_on_basis_advance(projob_sol, 0.0, &localRange, phisol_ho); @@ -544,7 +515,7 @@ solve_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisso // Set the RHS source. gkyl_fem_poisson_perp_set_rhs(poisson, rho); - // Solve the problem. + // Solve the problem once, to allow kSq and epsilon modification. gkyl_fem_poisson_perp_solve(poisson, phi); // Remove the factor and correct the solver's internal kSq and epsilon field accordingly. @@ -563,11 +534,7 @@ solve_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisso #endif // Write data to text file for visualization (Python notebook can read this) -<<<<<<<< HEAD:gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c - FILE *fp = helmholtz_write_output() ? fopen("helmholtz_3x_results.txt", "w") : NULL; -======== FILE *fp = helmholtz_write_output() ? fopen("ctest_fem_poisson_perp_ksq_results.txt", "w") : NULL; ->>>>>>>> origin/ctest_helmholtz_perp:gyrokinetic/unit/ctest_fem_poisson_perp_ksq.c if (fp) { fprintf(fp, "# x y z phi_numerical phi_analytical\n"); struct gkyl_range_iter iter; @@ -580,23 +547,6 @@ solve_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisso const double *phisol_p = gkyl_array_cfetch(phisol_ho, loc); // Write cell center coordinates and the 0th basis coefficient (cell average) fprintf(fp, "%.16e %.16e %.16e %.16e %.16e\n", xc[0], xc[1], xc[2], phi_p[0]/dg0norm, phisol_p[0]/dg0norm); -<<<<<<<< HEAD:gyrokinetic/unit/ctest_fem_poisson_perp_kSq.c - } - fclose(fp); - } - - // Compare solution to analytic result. - if (poly_order == 1) { - bool dd = (bcs.lo_type[0] == GKYL_POISSON_DIRICHLET && bcs.up_type[0] == GKYL_POISSON_DIRICHLET); - bool ydir_ok = (bcs.lo_type[1] == GKYL_POISSON_DIRICHLET && bcs.up_type[1] == GKYL_POISSON_DIRICHLET) || - (bcs.lo_type[1] == GKYL_POISSON_PERIODIC && bcs.up_type[1] == GKYL_POISSON_PERIODIC); - if (dd && ydir_ok) - check_solution(grid, localRange, basis, phi_ho, phisol_ho); - else { - TEST_CHECK( gkyl_compare(1., 2., 1e-10) ); - TEST_MSG("This BC combination is not available"); -======== ->>>>>>>> origin/ctest_helmholtz_perp:gyrokinetic/unit/ctest_fem_poisson_perp_ksq.c } fclose(fp); } @@ -616,6 +566,7 @@ solve_fem_helmholtz_perp_3x(int poly_order, const int *cells, struct gkyl_poisso gkyl_array_release(phisol_ho); gkyl_array_release(rho_ho); gkyl_array_release(phi_ho); + gkyl_array_release(kSq_ho); return err_L2; } diff --git a/gyrokinetic/zero/fem_poisson_perp.c b/gyrokinetic/zero/fem_poisson_perp.c index 0bffd65571..23247c5dfc 100644 --- a/gyrokinetic/zero/fem_poisson_perp.c +++ b/gyrokinetic/zero/fem_poisson_perp.c @@ -92,13 +92,13 @@ gkyl_fem_poisson_perp_new(const struct gkyl_range *solve_range, const struct gky // We assume epsilon and kSq live on the device, and we create a host-side // copies temporarily to compute the LHS matrix. This also works for CPU solves. - up->epsilon_ho = gkyl_array_new(GKYL_DOUBLE, up->epsilon->ncomp, up->epsilon->size); - gkyl_array_copy(up->epsilon_ho, up->epsilon); + struct gkyl_array *epsilon_ho = gkyl_array_new(GKYL_DOUBLE, up->epsilon->ncomp, up->epsilon->size); + gkyl_array_copy(epsilon_ho, up->epsilon); + struct gkyl_array *kSq_ho; if (kSq) { up->ishelmholtz = true; - up->kSq = gkyl_array_acquire(kSq); - up->kSq_ho = gkyl_array_new(GKYL_DOUBLE, up->kSq->ncomp, up->kSq->size); - gkyl_array_copy(up->kSq_ho, up->kSq); + kSq_ho = gkyl_array_new(GKYL_DOUBLE, kSq->ncomp, kSq->size); + gkyl_array_copy(kSq_ho, kSq); } else { up->ishelmholtz = false; kSq_ho = gkyl_array_new(GKYL_DOUBLE, up->num_basis, 1); @@ -327,14 +327,6 @@ gkyl_fem_poisson_perp_new(const struct gkyl_range *solve_range, const struct gky #endif } - gkyl_fem_poisson_perp_build_stiffness_matrix(up); - - return up; -} - -void -gkyl_fem_poisson_perp_build_stiffness_matrix(struct gkyl_fem_poisson_perp *up) -{ // Assign non-zero elements in A. int idx0[GKYL_MAX_CDIM], idx1[GKYL_MAX_CDIM]; gkyl_range_iter_init(&up->par_iter1d, &up->par_range1d); @@ -343,14 +335,15 @@ gkyl_fem_poisson_perp_build_stiffness_matrix(struct gkyl_fem_poisson_perp *up) gkyl_range_iter_init(&up->perp_iter2d, &up->perp_range2d); while (gkyl_range_iter_next(&up->perp_iter2d)) { + long perpidx = gkyl_range_idx(&up->perp_range2d, up->perp_iter2d.idx); for (size_t d=0; dndim_perp; d++) idx1[d] = up->perp_iter2d.idx[d]; idx1[up->pardir] = up->par_iter1d.idx[0]; long linidx = gkyl_range_idx(up->solve_range, idx1); - double *eps_p = gkyl_array_fetch(up->epsilon_ho, linidx); - double *kSq_p = up->ishelmholtz? gkyl_array_fetch(up->kSq_ho, linidx) : gkyl_array_fetch(up->kSq_ho,0); + double *eps_p = gkyl_array_fetch(epsilon_ho, linidx); + double *kSq_p = up->ishelmholtz? gkyl_array_fetch(kSq_ho, linidx) : gkyl_array_fetch(kSq_ho,0); int keri = idx_to_inup_ker(up->ndim_perp, up->num_cells, up->perp_iter2d.idx); for (size_t d=0; dndim; d++) idx0[d] = idx1[d] - 1; @@ -449,23 +442,22 @@ gkyl_fem_poisson_perp_build_stiffness_matrix(struct gkyl_fem_poisson_perp *up) for (size_t d=0; dndim; d++) idx0[d] = idx1[d] - 1; up->kernels->l2g[keri](up->num_cells, idx0, up->globalidx); - for (int k=0; kbasis.num_basis; k++) { - for (int l=0; lbasis.num_basis; l++) { + for (int k=0; kbasis.num_basis; k++) { + for (int l=0; lbasis.num_basis; l++) { size_t nnz = gkyl_mat_triples_size(up->tri[paridx]); // Number of nonzero elements. // Given the global i,j (row-col) place in the LHS matrix, find the linear index into the mat_triples list. // Here we do a brute-force search as we are unsure of the order, and this is done only once at t=0. - long off = -1; - gkyl_mat_triples_iter *mtt_iter = gkyl_mat_triples_iter_new(up->tri[k]); + long off = -1; + gkyl_mat_triples_iter *mtt_iter = gkyl_mat_triples_iter_new(up->tri[paridx]); for (size_t m=0; mglobalidx[k] == mt.row) && (up->globalidx[l] == mt.col)) { off = m; - break; - } - } - - csr_val_idx_p[k*up->basis.num_basis+l] = paridx*nnz + off; + break; + } + } + csr_val_idx_p[k*up->basis.num_basis+l] = paridx*nnz + off; } } } @@ -571,13 +563,6 @@ gkyl_fem_poisson_perp_set_rhs(gkyl_fem_poisson_perp *up, struct gkyl_array *rhsi void gkyl_fem_poisson_perp_solve(gkyl_fem_poisson_perp *up, struct gkyl_array *phiout) { - - // Check if we need to rebuild the stiffness matrix (if epsilon or kSq got updated). - if (up->make_stiff) { - assert(false); // AH Oct 15, 2025: This call is not valgrind clean. It seems that we cannot rebuild the matrix that easily. - gkyl_fem_poisson_perp_build_stiffness_matrix(up); - } - #ifdef GKYL_HAVE_CUDA if (up->use_gpu) { assert(gkyl_array_is_cu_dev(phiout)); @@ -706,12 +691,5 @@ void gkyl_fem_poisson_perp_release(struct gkyl_fem_poisson_perp *up) gkyl_free(up->perp_range); gkyl_free(up->globalidx); gkyl_array_release(up->epsilon); - gkyl_array_release(up->epsilon_ho); - if (up->ishelmholtz) - gkyl_array_release(up->kSq); - gkyl_array_release(up->kSq_ho); - for (size_t i=0; ipar_range.volume; i++) - gkyl_mat_triples_release(up->tri[i]); - gkyl_free(up->tri); gkyl_free(up); } diff --git a/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h b/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h index 12b6096157..ef2c7dd19f 100644 --- a/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h +++ b/gyrokinetic/zero/gkyl_fem_poisson_perp_priv.h @@ -576,12 +576,7 @@ struct gkyl_fem_poisson_perp { bool isdirperiodic[GKYL_MAX_CDIM]; // =true if direction is periodic. struct gkyl_array *epsilon; // Permittivity. - struct gkyl_array *epsilon_ho; // Permittivity on host. - struct gkyl_array *kSq; // k squared (Helmholtz term). - struct gkyl_array *kSq_ho; // k square on host. bool ishelmholtz; // If solving Helmholtz equation (kSq is not zero/NULL). - bool make_stiff; // Flag to indicate if we need to remake the stiffness matrix. - struct gkyl_mat_triples **tri; // Matrix triples for building stiffness matrices. bool isdomperiodic; // =true if all directions are periodic. struct gkyl_array *rhs_cellavg; From e36d84eccc463be0b98d10928d05ad88a726fc1d Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Sat, 25 Apr 2026 10:17:14 -0400 Subject: [PATCH 150/181] set IWL updater for EM too --- gyrokinetic/apps/gk_field_2x3x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 0bfe30d489..3ad7b35493 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -550,7 +550,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) } // Twist-and-shift boundary condition for phi and skin surface from ghost to impose phi periodicity at z=-pi. - if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL) { + if (f->gkfield_id == GKYL_GK_FIELD_ES_IWL || f->gkfield_id == GKYL_GK_FIELD_EM_IWL) { gk_field_2x3x_add_IWL_updaters(app, f); } From 2225a385d311c2ecd5a33355847e4e77ef1cc5cc Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Sat, 25 Apr 2026 11:20:46 -0400 Subject: [PATCH 151/181] put back the PT q profile as the NT one makes the regression test unstable --- gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c index 4f7a4686e8..80ddb2f5af 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c @@ -50,10 +50,10 @@ double r_x(double x, double a_mid, double x_inner) return x+a_mid-x_inner; } -// cubic polynomial fit to TCV NT q profile (discharge #65130) +// cubic polynomial fit to TCV PT q profile (more stable for reg test than NT one). double qprofile(double R) { double qfit[4] = { - 484.0615913225881, -1378.25993228584, 1309.3099150729233, -414.13270311478726 + 497.3420166252413, -1408.736172826569, 1331.4134861681464, -419.00692601227627 }; return qfit[0]*pow(R,3) + qfit[1]*pow(R,2) + qfit[2]*R + qfit[3]; } From 0bb65ce7e964e620081d2e6f0b969cd9b3f49136 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Sat, 25 Apr 2026 12:07:56 -0700 Subject: [PATCH 152/181] The code is valgrind and compute sanitizer clean except some NCCL error cudaErrorNoKernelImageForDevice.We see a great performance improvement on GPU thanks to the LHS update routine in the Ohm's solve. The TSBC is not implemented for Apar yet. --- gyrokinetic/apps/gk_field_2x3x.c | 14 ++++++-------- gyrokinetic/zero/gkyl_fem_poisson_perp.h | 22 ---------------------- 2 files changed, 6 insertions(+), 30 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 3ad7b35493..add22c2090 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -224,14 +224,7 @@ static void gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); - // The update of kSq is causing issues with leaks and valgrind. - // gkyl_fem_poisson_perp_update_kSq(field->fem_apardot_solver, field->dApartdtSlvr_kSq); - - // Temporary solution to avoid superLU leak when updating kSq: we release and re-create the solver - gkyl_fem_poisson_perp_release(field->fem_apardot_solver); - field->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &field->ampere_bcs, field->info.bias_line_list, field->lapWeightAmpere, field->dApartdtSlvr_kSq, app->use_gpu); - + gkyl_fem_poisson_perp_update_lhs(field->fem_apardot_solver, field->lapWeightAmpere, field->dApartdtSlvr_kSq); gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); @@ -522,6 +515,11 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // FEM solver for Ohm's law (evolves d(Apart)/dt). f->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, &f->ampere_bcs, f->info.bias_line_list, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + + // We have to advance the updater once to be able to update the kSq later. + gkyl_fem_poisson_perp_set_rhs(f->fem_apardot_solver, f->currentDensdot); + gkyl_fem_poisson_perp_solve(f->fem_apardot_solver, f->apardot); + // FEM smoother for Aparallel. f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, diff --git a/gyrokinetic/zero/gkyl_fem_poisson_perp.h b/gyrokinetic/zero/gkyl_fem_poisson_perp.h index 968827c29d..d68db9e9f8 100644 --- a/gyrokinetic/zero/gkyl_fem_poisson_perp.h +++ b/gyrokinetic/zero/gkyl_fem_poisson_perp.h @@ -41,28 +41,6 @@ struct gkyl_fem_poisson_perp* gkyl_fem_poisson_perp_new( const struct gkyl_basis basis, struct gkyl_poisson_bc *bcs, struct gkyl_poisson_bias_line_list* bias_line_list, struct gkyl_array *epsilon, struct gkyl_array *kSq, bool use_gpu); -/** - * Update the epsilon array and set the make_stiff flag to true to recompute stiffness - * matrix at the next solve call. - * - * @param up updater to solver. - * @param epsilon new epsilon array. - */ -void -gkyl_fem_poisson_perp_update_epsilon(struct gkyl_fem_poisson_perp *up, struct gkyl_array *epsilon); - -/** - * Update the kSq array and set the make_stiff flag to true to recompute stiffness - * matrix at the next solve call. The kSq must be passed as a non Null pointer to array - * in the gkyl_fem_poisson_perp_new call. - * - * @param up updater to solver. - * @param kSq new kSq array. - */ -void -gkyl_fem_poisson_perp_update_kSq(struct gkyl_fem_poisson_perp *up, struct gkyl_array *kSq); - - /** * Assign the right-side vector with the discontinuous (DG) source field. * From ee5f6d79968a7e253b878bdec830fe302da8155d Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 27 Apr 2026 11:22:18 -0400 Subject: [PATCH 153/181] remove unnecessary cleanup of 'wk' files in the Makefile --- Makefile_for_ext_C_input | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile_for_ext_C_input b/Makefile_for_ext_C_input index cf44bb3df3..7f6c00f8a4 100644 --- a/Makefile_for_ext_C_input +++ b/Makefile_for_ext_C_input @@ -154,4 +154,4 @@ $(BINS): %: %.c ${CC} ${CFLAGS} ${INCLUDES} $< -o $@ -L${G0_LIB_DIR} ${G0_RPATH} ${G0_LIBS} ${LIB_DIRS} ${EXT_LIBS} clean: - rm -rf $(BINS) *.d wk + rm -rf $(BINS) *.d From c2a0e04376bf654354ceb3cbf5da813c1c15915a Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 27 Apr 2026 13:58:11 -0400 Subject: [PATCH 154/181] Merge of EM and ES kernels to simplify the code. --- core/zero/gkyl_eqn_type.h | 2 - gyrokinetic/apps/gk_field.c | 4 +- gyrokinetic/apps/gk_species.c | 3 +- gyrokinetic/apps/gk_species_collisionless.c | 4 +- gyrokinetic/apps/gyrokinetic_lw.c | 2 - ...ollisionless_flux_edge_surfx_1x1v_ser_p1.c | 3 + ...ollisionless_flux_edge_surfx_1x2v_ser_p1.c | 3 + ...ollisionless_flux_edge_surfx_2x2v_ser_p1.c | 28 + ...ollisionless_flux_edge_surfx_3x2v_ser_p1.c | 54 ++ ...ollisionless_flux_edge_surfy_2x2v_ser_p1.c | 28 + ...ollisionless_flux_edge_surfy_3x2v_ser_p1.c | 54 ++ ...ollisionless_flux_edge_surfz_3x2v_ser_p1.c | 54 ++ ...isionless_flux_em_edge_surfx_1x1v_ser_p1.c | 107 --- ...isionless_flux_em_edge_surfx_1x2v_ser_p1.c | 141 --- ...isionless_flux_em_edge_surfx_2x2v_ser_p1.c | 257 ------ ...isionless_flux_em_edge_surfx_3x2v_ser_p1.c | 450 ---------- ...isionless_flux_em_edge_surfy_2x2v_ser_p1.c | 257 ------ ...isionless_flux_em_edge_surfy_3x2v_ser_p1.c | 452 ---------- ...isionless_flux_em_edge_surfz_3x2v_ser_p1.c | 450 ---------- ...m_multib_boundary_edge_surfx_1x1v_ser_p1.c | 109 --- ...m_multib_boundary_edge_surfx_1x2v_ser_p1.c | 143 --- ...m_multib_boundary_edge_surfx_2x2v_ser_p1.c | 271 ------ ...m_multib_boundary_edge_surfx_3x2v_ser_p1.c | 476 ---------- ...m_multib_boundary_edge_surfy_2x2v_ser_p1.c | 271 ------ ...m_multib_boundary_edge_surfy_3x2v_ser_p1.c | 478 ---------- ...m_multib_boundary_edge_surfz_3x2v_ser_p1.c | 476 ---------- ...lux_em_multib_boundary_surfx_1x1v_ser_p1.c | 109 --- ...lux_em_multib_boundary_surfx_1x2v_ser_p1.c | 143 --- ...lux_em_multib_boundary_surfx_2x2v_ser_p1.c | 271 ------ ...lux_em_multib_boundary_surfx_3x2v_ser_p1.c | 476 ---------- ...lux_em_multib_boundary_surfy_2x2v_ser_p1.c | 271 ------ ...lux_em_multib_boundary_surfy_3x2v_ser_p1.c | 478 ---------- ...lux_em_multib_boundary_surfz_3x2v_ser_p1.c | 476 ---------- ...ess_flux_em_no_by_edge_surfx_2x2v_ser_p1.c | 209 ----- ...ess_flux_em_no_by_edge_surfx_3x2v_ser_p1.c | 354 -------- ...ess_flux_em_no_by_edge_surfy_2x2v_ser_p1.c | 209 ----- ...ess_flux_em_no_by_edge_surfy_3x2v_ser_p1.c | 356 -------- ...ess_flux_em_no_by_edge_surfz_3x2v_ser_p1.c | 354 -------- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 223 ----- ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 380 -------- ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 223 ----- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 382 -------- ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 380 -------- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 223 ----- ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 380 -------- ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 223 ----- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 382 -------- ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 380 -------- ...nless_flux_em_no_by_surfvpar_2x2v_ser_p1.c | 176 ---- ...nless_flux_em_no_by_surfvpar_3x2v_ser_p1.c | 297 ------ ...sionless_flux_em_no_by_surfx_2x2v_ser_p1.c | 209 ----- ...sionless_flux_em_no_by_surfx_3x2v_ser_p1.c | 354 -------- ...sionless_flux_em_no_by_surfy_2x2v_ser_p1.c | 209 ----- ...sionless_flux_em_no_by_surfy_3x2v_ser_p1.c | 356 -------- ...sionless_flux_em_no_by_surfz_3x2v_ser_p1.c | 354 -------- ...less_flux_em_star_edge_surfx_1x1v_ser_p1.c | 107 --- ...less_flux_em_star_edge_surfx_1x2v_ser_p1.c | 141 --- ...less_flux_em_star_edge_surfx_2x2v_ser_p1.c | 257 ------ ...less_flux_em_star_edge_surfx_3x2v_ser_p1.c | 450 ---------- ...less_flux_em_star_edge_surfy_2x2v_ser_p1.c | 257 ------ ...less_flux_em_star_edge_surfy_3x2v_ser_p1.c | 452 ---------- ...less_flux_em_star_edge_surfz_3x2v_ser_p1.c | 450 ---------- ...r_multib_boundary_edge_surfx_1x1v_ser_p1.c | 109 --- ...r_multib_boundary_edge_surfx_1x2v_ser_p1.c | 143 --- ...r_multib_boundary_edge_surfx_2x2v_ser_p1.c | 271 ------ ...r_multib_boundary_edge_surfx_3x2v_ser_p1.c | 476 ---------- ...r_multib_boundary_edge_surfy_2x2v_ser_p1.c | 271 ------ ...r_multib_boundary_edge_surfy_3x2v_ser_p1.c | 478 ---------- ...r_multib_boundary_edge_surfz_3x2v_ser_p1.c | 476 ---------- ...m_star_multib_boundary_surfx_1x1v_ser_p1.c | 109 --- ...m_star_multib_boundary_surfx_1x2v_ser_p1.c | 143 --- ...m_star_multib_boundary_surfx_2x2v_ser_p1.c | 271 ------ ...m_star_multib_boundary_surfx_3x2v_ser_p1.c | 476 ---------- ...m_star_multib_boundary_surfy_2x2v_ser_p1.c | 271 ------ ...m_star_multib_boundary_surfy_3x2v_ser_p1.c | 478 ---------- ...m_star_multib_boundary_surfz_3x2v_ser_p1.c | 476 ---------- ...lux_em_star_no_by_edge_surfx_2x2v_ser_p1.c | 209 ----- ...lux_em_star_no_by_edge_surfx_3x2v_ser_p1.c | 354 -------- ...lux_em_star_no_by_edge_surfy_2x2v_ser_p1.c | 209 ----- ...lux_em_star_no_by_edge_surfy_3x2v_ser_p1.c | 356 -------- ...lux_em_star_no_by_edge_surfz_3x2v_ser_p1.c | 354 -------- ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 223 ----- ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 380 -------- ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 223 ----- ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 382 -------- ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 380 -------- ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 223 ----- ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 380 -------- ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 223 ----- ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 382 -------- ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 380 -------- ..._flux_em_star_no_by_surfvpar_2x2v_ser_p1.c | 168 ---- ..._flux_em_star_no_by_surfvpar_3x2v_ser_p1.c | 281 ------ ...ess_flux_em_star_no_by_surfx_2x2v_ser_p1.c | 209 ----- ...ess_flux_em_star_no_by_surfx_3x2v_ser_p1.c | 354 -------- ...ess_flux_em_star_no_by_surfy_2x2v_ser_p1.c | 209 ----- ...ess_flux_em_star_no_by_surfy_3x2v_ser_p1.c | 356 -------- ...ess_flux_em_star_no_by_surfz_3x2v_ser_p1.c | 354 -------- ...onless_flux_em_star_surfvpar_1x1v_ser_p1.c | 93 -- ...onless_flux_em_star_surfvpar_1x2v_ser_p1.c | 117 --- ...onless_flux_em_star_surfvpar_2x2v_ser_p1.c | 216 ----- ...onless_flux_em_star_surfvpar_3x2v_ser_p1.c | 425 --------- ...isionless_flux_em_star_surfx_1x1v_ser_p1.c | 107 --- ...isionless_flux_em_star_surfx_1x2v_ser_p1.c | 141 --- ...isionless_flux_em_star_surfx_2x2v_ser_p1.c | 257 ------ ...isionless_flux_em_star_surfx_3x2v_ser_p1.c | 450 ---------- ...isionless_flux_em_star_surfy_2x2v_ser_p1.c | 257 ------ ...isionless_flux_em_star_surfy_3x2v_ser_p1.c | 452 ---------- ...isionless_flux_em_star_surfz_3x2v_ser_p1.c | 450 ---------- ...llisionless_flux_em_surfvpar_1x1v_ser_p1.c | 95 -- ...llisionless_flux_em_surfvpar_1x2v_ser_p1.c | 121 --- ...llisionless_flux_em_surfvpar_2x2v_ser_p1.c | 224 ----- ...llisionless_flux_em_surfvpar_3x2v_ser_p1.c | 441 --------- ..._collisionless_flux_em_surfx_1x1v_ser_p1.c | 107 --- ..._collisionless_flux_em_surfx_1x2v_ser_p1.c | 141 --- ..._collisionless_flux_em_surfx_2x2v_ser_p1.c | 257 ------ ..._collisionless_flux_em_surfx_3x2v_ser_p1.c | 450 ---------- ..._collisionless_flux_em_surfy_2x2v_ser_p1.c | 257 ------ ..._collisionless_flux_em_surfy_3x2v_ser_p1.c | 452 ---------- ..._collisionless_flux_em_surfz_3x2v_ser_p1.c | 450 ---------- ...x_multib_boundary_edge_surfx_1x1v_ser_p1.c | 3 + ...x_multib_boundary_edge_surfx_1x2v_ser_p1.c | 3 + ...x_multib_boundary_edge_surfx_2x2v_ser_p1.c | 28 + ...x_multib_boundary_edge_surfx_3x2v_ser_p1.c | 54 ++ ...x_multib_boundary_edge_surfy_2x2v_ser_p1.c | 28 + ...x_multib_boundary_edge_surfy_3x2v_ser_p1.c | 54 ++ ...x_multib_boundary_edge_surfz_3x2v_ser_p1.c | 54 ++ ...s_flux_multib_boundary_surfx_1x1v_ser_p1.c | 3 + ...s_flux_multib_boundary_surfx_1x2v_ser_p1.c | 3 + ...s_flux_multib_boundary_surfx_2x2v_ser_p1.c | 28 + ...s_flux_multib_boundary_surfx_3x2v_ser_p1.c | 54 ++ ...s_flux_multib_boundary_surfy_2x2v_ser_p1.c | 28 + ...s_flux_multib_boundary_surfy_3x2v_ser_p1.c | 54 ++ ...s_flux_multib_boundary_surfz_3x2v_ser_p1.c | 54 ++ ...onless_flux_no_by_edge_surfx_2x2v_ser_p1.c | 4 + ...onless_flux_no_by_edge_surfx_3x2v_ser_p1.c | 6 + ...onless_flux_no_by_edge_surfy_2x2v_ser_p1.c | 4 + ...onless_flux_no_by_edge_surfy_3x2v_ser_p1.c | 6 + ...onless_flux_no_by_edge_surfz_3x2v_ser_p1.c | 6 + ...y_multib_boundary_edge_surfx_2x2v_ser_p1.c | 4 + ...y_multib_boundary_edge_surfx_3x2v_ser_p1.c | 6 + ...y_multib_boundary_edge_surfy_2x2v_ser_p1.c | 4 + ...y_multib_boundary_edge_surfy_3x2v_ser_p1.c | 6 + ...y_multib_boundary_edge_surfz_3x2v_ser_p1.c | 6 + ..._no_by_multib_boundary_surfx_2x2v_ser_p1.c | 4 + ..._no_by_multib_boundary_surfx_3x2v_ser_p1.c | 6 + ..._no_by_multib_boundary_surfy_2x2v_ser_p1.c | 4 + ..._no_by_multib_boundary_surfy_3x2v_ser_p1.c | 6 + ..._no_by_multib_boundary_surfz_3x2v_ser_p1.c | 6 + ...sionless_flux_no_by_surfvpar_2x2v_ser_p1.c | 21 + ...sionless_flux_no_by_surfvpar_3x2v_ser_p1.c | 41 + ...llisionless_flux_no_by_surfx_2x2v_ser_p1.c | 4 + ...llisionless_flux_no_by_surfx_3x2v_ser_p1.c | 6 + ...llisionless_flux_no_by_surfy_2x2v_ser_p1.c | 4 + ...llisionless_flux_no_by_surfy_3x2v_ser_p1.c | 6 + ...llisionless_flux_no_by_surfz_3x2v_ser_p1.c | 6 + .../gk_collisionless_flux_surfconf_none.c | 11 - ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 11 + ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 15 + ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 53 ++ ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 137 +++ .../gk_collisionless_flux_surfvpar_none.c | 11 - .../gk_collisionless_flux_surfx_1x1v_ser_p1.c | 3 + .../gk_collisionless_flux_surfx_1x2v_ser_p1.c | 3 + .../gk_collisionless_flux_surfx_2x2v_ser_p1.c | 28 + .../gk_collisionless_flux_surfx_3x2v_ser_p1.c | 54 ++ .../gk_collisionless_flux_surfy_2x2v_ser_p1.c | 28 + .../gk_collisionless_flux_surfy_3x2v_ser_p1.c | 54 ++ .../gk_collisionless_flux_surfz_3x2v_ser_p1.c | 54 ++ .../gkyl_gk_collisionless_flux_kernels.h | 772 +--------------- gyrokinetic/zero/dg_gyrokinetic.c | 2 +- gyrokinetic/zero/dg_gyrokinetic_cu.cu | 2 +- gyrokinetic/zero/gk_collisionless_flux.c | 45 +- gyrokinetic/zero/gk_collisionless_flux_cu.cu | 47 +- .../zero/gkyl_gk_collisionless_flux_priv.h | 845 ++++-------------- 175 files changed, 1541 insertions(+), 33773 deletions(-) delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c delete mode 100644 gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index b3679c218e..099650bf79 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -181,8 +181,6 @@ enum gkyl_gk_anomalous_diff_id { enum gkyl_gk_collisionless_type { GKYL_GK_COLLISIONLESS_NONE = 0, // Turns off collisionless terms. GKYL_GK_COLLISIONLESS_ES, // Electrostatic. - GKYL_GK_COLLISIONLESS_EM_BPERP, // Electromagnetic with B_perp fluctuations. - GKYL_GK_COLLISIONLESS_EM_BPAR, // Electromagnetic with B_par fluctuations. GKYL_GK_COLLISIONLESS_EM, // Electromagnetic with B_perp and B_par fluctuations. GKYL_GK_COLLISIONLESS_NEUTRAL, // Neutral collisionless terms. }; diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 3f78e63319..84c4562116 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -390,9 +390,7 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) // Ensure that if any species is electromagnetic, the field is electromagnetic. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; - f->is_em = f->is_em || (s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) || - (s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP) || - (s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPAR); + f->is_em = f->is_em || (s->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM); } if (f->is_em) { assert(f->info.mu0 > 0.0); diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index 8b6eb5116d..985bad7d48 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -978,8 +978,7 @@ gk_species_init_dynamic(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app // Set function pointers. gks->rhs_func = gk_species_rhs_dynamic; - if ((gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM) - || (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM_BPERP)){ + if (gks->info.collisionless.type == GKYL_GK_COLLISIONLESS_EM){ gks->rhs_em_complete_func = gk_species_rhs_em_complete_dynamic; } else { gks->rhs_em_complete_func = gk_species_rhs_static; diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index 5202d5499d..d07f9c254e 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -199,7 +199,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie } // Electromagnetic set up. - if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { + if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) { // Set up ES + Apar contributions to flux and solver. complete_em = true; gkcls->surf_flux_em_star_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, @@ -254,7 +254,7 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s gkyl_gk_collisionless_flux_release(gkcls->surf_flux_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); - if ((gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) || (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM_BPERP)) { + if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) { gkyl_gk_collisionless_flux_release(gkcls->surf_flux_em_star_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr_em_complete); } diff --git a/gyrokinetic/apps/gyrokinetic_lw.c b/gyrokinetic/apps/gyrokinetic_lw.c index 3d2edb9563..d5faff9d54 100644 --- a/gyrokinetic/apps/gyrokinetic_lw.c +++ b/gyrokinetic/apps/gyrokinetic_lw.c @@ -59,8 +59,6 @@ static const struct gkyl_str_int_pair position_map_type[] = { static const struct gkyl_str_int_pair gk_collisionless_type[] = { { "None", GKYL_GK_COLLISIONLESS_NONE }, { "GKCollisionlessES", GKYL_GK_COLLISIONLESS_ES }, - { "GKCollisionlessEM_Bperp", GKYL_GK_COLLISIONLESS_EM_BPERP }, - { "GKCollisionlessEM_Bpar", GKYL_GK_COLLISIONLESS_EM_BPAR }, { "GKCollisionlessEM", GKYL_GK_COLLISIONLESS_EM }, { 0, 0 } }; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c index 8f17e490dc..4aa72445b1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x1v_ser_p1.c @@ -33,6 +33,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x1v_ser_p1( hamil[1] = 0.5*vmapSq[1]*m_; hamil[2] = 0.5*vmapSq[2]*m_; + double apar_surf[3] = {0.}; + apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c index 98068d61bd..b91a2fc316 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_1x2v_ser_p1.c @@ -34,6 +34,9 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_1x2v_ser_p1( hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + double apar_surf[6] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c index 3570650c26..12b2aa34fc 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,6 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -84,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -96,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -190,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -202,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c index 7222eb7a57..03a8b25f73 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,6 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -87,6 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,6 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,6 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -135,6 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,6 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,6 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -217,6 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,6 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,6 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -275,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -287,6 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -299,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,6 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,6 +377,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,6 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,6 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -369,6 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -381,6 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c index de86af7df4..fd592e6db1 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,6 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -84,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -96,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -190,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -202,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c index 31f7efb238..c11bbbc59b 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -77,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,6 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -101,6 +111,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,6 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,6 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -137,6 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,6 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,6 +191,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,6 +205,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,6 +219,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -207,6 +233,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,6 +247,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,6 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,6 +285,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,6 +299,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,6 +313,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,6 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -301,6 +341,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -323,6 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,6 +379,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,6 +393,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,6 +407,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,6 +421,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,6 +435,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c index 9b36f8f09f..318d3b38df 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_edge_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,6 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -87,6 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,6 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,6 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -135,6 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,6 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,6 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -217,6 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,6 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,6 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -275,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -287,6 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -299,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,6 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,6 +377,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,6 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,6 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -369,6 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -381,6 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c deleted file mode 100644 index 5bb6b0a75a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,107 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double apar_surf[3] = {0.}; - apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c deleted file mode 100644 index 5adfce3283..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,141 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double apar_surf[6] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index e8896c6d4b..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 87af2dae39..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index 73ee4404df..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index e681b9589f..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,452 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index 31a7ccd890..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c deleted file mode 100644 index ae20218be5..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,109 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double JRatfR[3] = {0.}; - - double apar_surf[3] = {0.}; - apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c deleted file mode 100644 index b7a042a1fe..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,143 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double JRatfR[6] = {0.}; - - double apar_surf[6] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index 6a867658a9..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 3735fbdf54..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index 7441ae3793..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 97b2d0679d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,478 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index 077c9205dd..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c deleted file mode 100644 index 1e42e613b9..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,109 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double JRatfL[3] = {0.}; - - double apar_surf[3] = {0.}; - apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c deleted file mode 100644 index ec14fa1571..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,143 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double JRatfL[6] = {0.}; - - double apar_surf[6] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c deleted file mode 100644 index 68ab1cb353..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c deleted file mode 100644 index 9fff406b73..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c deleted file mode 100644 index 64dbe2da91..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c deleted file mode 100644 index 536e6c34d8..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,478 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c deleted file mode 100644 index bc1cb3ba1e..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index ba90f5a442..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index a3b36fbf3f..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index e082865dc9..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index adbfed0e0a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,356 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index 00b7d70fe6..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index 7d0f83ae5f..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 8899b591f9..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index 1d1911e717..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 4023c31e6e..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,382 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index 939c66a928..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c deleted file mode 100644 index bd65d6e496..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c deleted file mode 100644 index a68f391f0e..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c deleted file mode 100644 index f460213950..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c deleted file mode 100644 index 352a5f8155..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,382 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c deleted file mode 100644 index c1e212a51e..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index 5a7695a864..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,176 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; - hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index 7de5131f8b..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,297 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_; - hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[4] = 2.0*vmapSq[1]*m_; - hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[6] = 2.0*phi[4]*q_; - hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; - hamil[8] = 2.0*phi[6]*q_; - hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 2.0*phi[7]*q_; - hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; - hamil[32] = 2.0*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[72]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[4].bmag; - B3_quad = gkdgv[4].B3; - dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[5].bmag; - B3_quad = gkdgv[5].B3; - dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[6].bmag; - B3_quad = gkdgv[6].B3; - dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[7].bmag; - B3_quad = gkdgv[7].B3; - dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c deleted file mode 100644 index 0fc1866a80..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c deleted file mode 100644 index a7e78831e7..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c deleted file mode 100644 index b73446db49..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c deleted file mode 100644 index 0d0c2981ff..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,356 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c deleted file mode 100644 index 53d8775015..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c deleted file mode 100644 index 898f51cea6..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,107 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double apar_surf[3] = {0.}; - apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c deleted file mode 100644 index 1cac10f2af..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,141 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double apar_surf[6] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index e1db697a7a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 74499dc569..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index b034de3f86..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 373f4cd523..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,452 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index b9ffb09703..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c deleted file mode 100644 index b6234d654d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,109 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (1.7320508075688772*phi[1]+phi[0])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double JRatfR[3] = {0.}; - - double apar_surf[3] = {0.}; - apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c deleted file mode 100644 index 2794ea343b..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,143 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+0.7071067811865475*vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double JRatfR[6] = {0.}; - - double apar_surf[6] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.0; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index ec2773a9be..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 801cfd794d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index 4b0279bad1..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 8d590940f2..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,478 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index de6e8f5375..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c deleted file mode 100644 index 94941234a0..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,109 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double JRatfL[3] = {0.}; - - double apar_surf[3] = {0.}; - apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c deleted file mode 100644 index 98e5834ab7..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,143 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double JRatfL[6] = {0.}; - - double apar_surf[6] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.0; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c deleted file mode 100644 index 5b9a29e4d3..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c deleted file mode 100644 index 18e9c75f3c..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c deleted file mode 100644 index 6eb39e2e81..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,271 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c deleted file mode 100644 index f67ec48d4d..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,478 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c deleted file mode 100644 index 86a4032c6c..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,476 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index 16107a4bfd..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index e348146b19..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index c08a9acce7..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index d96fbc8007..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,356 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index 5b80440dcb..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c deleted file mode 100644 index c92a1ac2c5..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[1]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[2])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[2]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[1])-1.0*(jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+JfR[1]*jacobgeo_rat_surfR[1])-1.0*(jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[6])-1.0*(jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[8])-1.0*(jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[6])-1.0*(jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[8])-1.0*(jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[13])-1.0*(jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[13])-1.0*(jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[18]-3.0*jacobgeo_rat_surfR[0]*JfR[17])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])+15.0*jacobgeo_rat_surfR[0]*JfR[18]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c deleted file mode 100644 index 2707c88374..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[1]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(1.7320508075688772*bmag[1]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[2])*q_; - hamil[2] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[3])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[1]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[6])*q_; - hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[3]+jacobgeo_rat_surfR[1]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[1])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[8]+JfR[3]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[2]+JfR[0]*jacobgeo_rat_surfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[8]+JfR[2]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[8]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[2]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[9])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[12])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[23])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[37])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[34])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[33]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[34])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[44])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[34])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[33]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[32])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[37])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[41])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; - apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c deleted file mode 100644 index be05533432..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (2.4494897427831783*phi[2]+1.4142135623730951*phi[0])*q_+vmapSq[0]*m_+(1.7320508075688772*bmag[2]+bmag[0])*vmap[2]; - hamil[1] = (2.4494897427831783*phi[3]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[3]+bmag[1]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (1.7320508075688772*bmag[2]+bmag[0])*vmap[3]; - hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfR[12] = {0.}; - JRatfR[0] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[5]+jacobgeo_rat_surfR[0]*JfR[2])-1.0*(JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[5]+jacobgeo_rat_surfR[1]*JfR[2])-1.0*(JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[7])-1.0*(jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[3]))); - JRatfR[3] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[9])-1.0*(jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[7])-1.0*(jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[3]))); - JRatfR[5] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[9])-1.0*(jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[6] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[1]*JfR[15]+jacobgeo_rat_surfR[0]*JfR[14])-1.0*(jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[10]))); - JRatfR[7] = -(0.5*(1.7320508075688772*(jacobgeo_rat_surfR[0]*JfR[15]+jacobgeo_rat_surfR[1]*JfR[14])-1.0*(jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[10]))); - JRatfR[8] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[20])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[17]-3.0*jacobgeo_rat_surfR[0]*JfR[18])+15.0*jacobgeo_rat_surfR[0]*JfR[16]); - JRatfR[9] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[16]-3.0*jacobgeo_rat_surfR[0]*JfR[20])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[18]+15.0*jacobgeo_rat_surfR[0]*JfR[17]); - JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); - JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3952847075210473*JRatfR[11])+0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*JRatfR[5]-0.3535533905932737*(JRatfR[3]+JRatfR[1])+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3162277660168379*JRatfR[11]-0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*JRatfR[7]-0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3952847075210473*JRatfR[11]-0.39528470752104733*JRatfR[10]+0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*JRatfR[5]+0.3535533905932737*JRatfR[3]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3162277660168379*JRatfR[11])+0.31622776601683794*JRatfR[10]-0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*JRatfR[7]+0.4743416490252568*JRatfR[6]-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]-0.3535533905932737*JRatfR[1]+0.3535533905932737*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3952847075210473*JRatfR[11]+0.39528470752104733*JRatfR[10]-0.39528470752104733*JRatfR[9]-0.3952847075210473*JRatfR[8]-0.3535533905932737*(JRatfR[5]+JRatfR[3])+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3162277660168379*JRatfR[11])-0.31622776601683794*JRatfR[10]+0.31622776601683794*JRatfR[9]+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])-0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]-0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]-0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]-0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]-0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3952847075210473*JRatfR[11])-0.39528470752104733*(JRatfR[10]+JRatfR[9])-0.3952847075210473*JRatfR[8]+0.3535533905932737*(JRatfR[5]+JRatfR[3]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3162277660168379*JRatfR[11]+0.31622776601683794*(JRatfR[10]+JRatfR[9])+0.3162277660168379*JRatfR[8]+0.4743416490252568*(JRatfR[7]+JRatfR[6])+0.3535533905932737*JRatfR[5]+0.4743416490252568*JRatfR[4]+0.3535533905932737*JRatfR[3]+0.4743416490252568*JRatfR[2]+0.3535533905932737*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c deleted file mode 100644 index 16a921c788..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,382 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[2]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (2.4494897427831783*phi[4]+1.4142135623730951*phi[1])*q_+bmag[1]*vmap[2]; - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[3])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[5])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[6]+jacobgeo_rat_surfR[0]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[6]+jacobgeo_rat_surfR[1]*JfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[7]+JfR[1]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[0]*JfR[3]+JfR[0]*jacobgeo_rat_surfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[7]+JfR[0]*jacobgeo_rat_surfR[3]+jacobgeo_rat_surfR[1]*JfR[3]+JfR[1]*jacobgeo_rat_surfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[35]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[38]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[38]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[35]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[34]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[38]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[37]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[35]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[42]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[45]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[35]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[34]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[37])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[38]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[45]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[42]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c deleted file mode 100644 index fe114feeb1..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.4494897427831783*phi[3]*q_+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(1.7320508075688772*bmag[3]+bmag[0]); - hamil[1] = (2.4494897427831783*phi[5]+1.4142135623730951*phi[1])*q_+vmap[2]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[2] = (2.4494897427831783*phi[6]+1.4142135623730951*phi[2])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (1.7320508075688772*bmag[3]+bmag[0])*vmap[3]; - hamil[5] = (2.4494897427831783*phi[7]+1.4142135623730951*phi[4])*q_; - hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfR[24] = {0.}; - JRatfR[0] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[16]+jacobgeo_rat_surfR[2]*JfR[8]+jacobgeo_rat_surfR[1]*JfR[7]+jacobgeo_rat_surfR[0]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[2]+JfR[1]*jacobgeo_rat_surfR[1]+JfR[0]*jacobgeo_rat_surfR[0]))); - JRatfR[1] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[16]+jacobgeo_rat_surfR[3]*JfR[8]+jacobgeo_rat_surfR[0]*JfR[7]+jacobgeo_rat_surfR[1]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[6]+JfR[2]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[1]+jacobgeo_rat_surfR[0]*JfR[1]))); - JRatfR[2] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[16]+jacobgeo_rat_surfR[0]*JfR[8]+jacobgeo_rat_surfR[3]*JfR[7]+jacobgeo_rat_surfR[2]*JfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[6]+JfR[1]*jacobgeo_rat_surfR[3]+JfR[0]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[0]*JfR[2]))); - JRatfR[3] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[26]+jacobgeo_rat_surfR[2]*JfR[19]+jacobgeo_rat_surfR[1]*JfR[18]+jacobgeo_rat_surfR[0]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[17]+jacobgeo_rat_surfR[2]*JfR[10]+jacobgeo_rat_surfR[1]*JfR[9]+jacobgeo_rat_surfR[0]*JfR[4]))); - JRatfR[4] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[27]+jacobgeo_rat_surfR[2]*JfR[22]+jacobgeo_rat_surfR[1]*JfR[21]+jacobgeo_rat_surfR[0]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[20]+jacobgeo_rat_surfR[2]*JfR[13]+jacobgeo_rat_surfR[1]*JfR[12]+jacobgeo_rat_surfR[0]*JfR[5]))); - JRatfR[5] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[16]+jacobgeo_rat_surfR[1]*JfR[8]+jacobgeo_rat_surfR[2]*JfR[7]+JfR[3]*jacobgeo_rat_surfR[3])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[6]+JfR[0]*jacobgeo_rat_surfR[3]+JfR[1]*jacobgeo_rat_surfR[2]+jacobgeo_rat_surfR[1]*JfR[2]))); - JRatfR[6] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[26]+jacobgeo_rat_surfR[3]*JfR[19]+jacobgeo_rat_surfR[0]*JfR[18]+jacobgeo_rat_surfR[1]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[17]+jacobgeo_rat_surfR[3]*JfR[10]+jacobgeo_rat_surfR[0]*JfR[9]+jacobgeo_rat_surfR[1]*JfR[4]))); - JRatfR[7] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[26]+jacobgeo_rat_surfR[0]*JfR[19]+jacobgeo_rat_surfR[3]*JfR[18]+jacobgeo_rat_surfR[2]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[17]+jacobgeo_rat_surfR[0]*JfR[10]+jacobgeo_rat_surfR[3]*JfR[9]+jacobgeo_rat_surfR[2]*JfR[4]))); - JRatfR[8] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[27]+jacobgeo_rat_surfR[3]*JfR[22]+jacobgeo_rat_surfR[0]*JfR[21]+jacobgeo_rat_surfR[1]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[20]+jacobgeo_rat_surfR[3]*JfR[13]+jacobgeo_rat_surfR[0]*JfR[12]+jacobgeo_rat_surfR[1]*JfR[5]))); - JRatfR[9] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[27]+jacobgeo_rat_surfR[0]*JfR[22]+jacobgeo_rat_surfR[3]*JfR[21]+jacobgeo_rat_surfR[2]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[20]+jacobgeo_rat_surfR[0]*JfR[13]+jacobgeo_rat_surfR[3]*JfR[12]+jacobgeo_rat_surfR[2]*JfR[5]))); - JRatfR[10] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[3]*JfR[31]+jacobgeo_rat_surfR[2]*JfR[30]+jacobgeo_rat_surfR[1]*JfR[29]+jacobgeo_rat_surfR[0]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[3]*JfR[28]+jacobgeo_rat_surfR[2]*JfR[24]+jacobgeo_rat_surfR[1]*JfR[23]+jacobgeo_rat_surfR[0]*JfR[15]))); - JRatfR[11] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[26]+jacobgeo_rat_surfR[1]*JfR[19]+jacobgeo_rat_surfR[2]*JfR[18]+jacobgeo_rat_surfR[3]*JfR[11])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[17]+jacobgeo_rat_surfR[1]*JfR[10]+jacobgeo_rat_surfR[2]*JfR[9]+jacobgeo_rat_surfR[3]*JfR[4]))); - JRatfR[12] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[27]+jacobgeo_rat_surfR[1]*JfR[22]+jacobgeo_rat_surfR[2]*JfR[21]+jacobgeo_rat_surfR[3]*JfR[14])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[20]+jacobgeo_rat_surfR[1]*JfR[13]+jacobgeo_rat_surfR[2]*JfR[12]+jacobgeo_rat_surfR[3]*JfR[5]))); - JRatfR[13] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[31]+jacobgeo_rat_surfR[3]*JfR[30]+jacobgeo_rat_surfR[0]*JfR[29]+jacobgeo_rat_surfR[1]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[2]*JfR[28]+jacobgeo_rat_surfR[3]*JfR[24]+jacobgeo_rat_surfR[0]*JfR[23]+jacobgeo_rat_surfR[1]*JfR[15]))); - JRatfR[14] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[31]+jacobgeo_rat_surfR[0]*JfR[30]+jacobgeo_rat_surfR[3]*JfR[29]+jacobgeo_rat_surfR[2]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[1]*JfR[28]+jacobgeo_rat_surfR[0]*JfR[24]+jacobgeo_rat_surfR[3]*JfR[23]+jacobgeo_rat_surfR[2]*JfR[15]))); - JRatfR[15] = -(0.25*(2.4494897427831783*(jacobgeo_rat_surfR[0]*JfR[31]+jacobgeo_rat_surfR[1]*JfR[30]+jacobgeo_rat_surfR[2]*JfR[29]+jacobgeo_rat_surfR[3]*JfR[25])-1.4142135623730951*(jacobgeo_rat_surfR[0]*JfR[28]+jacobgeo_rat_surfR[1]*JfR[24]+jacobgeo_rat_surfR[2]*JfR[23]+jacobgeo_rat_surfR[3]*JfR[15]))); - JRatfR[16] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[34]+jacobgeo_rat_surfR[1]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[43]+jacobgeo_rat_surfR[0]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[39]+jacobgeo_rat_surfR[1]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[37]+jacobgeo_rat_surfR[0]*JfR[32])); - JRatfR[17] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[43]+jacobgeo_rat_surfR[1]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[37]+jacobgeo_rat_surfR[1]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[39]+jacobgeo_rat_surfR[0]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[34]+jacobgeo_rat_surfR[0]*JfR[33])); - JRatfR[18] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[43]+jacobgeo_rat_surfR[2]*JfR[35]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[37]+jacobgeo_rat_surfR[2]*JfR[32])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[39]+jacobgeo_rat_surfR[3]*JfR[38]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[34]+jacobgeo_rat_surfR[3]*JfR[33])); - JRatfR[19] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[41]+jacobgeo_rat_surfR[1]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[47]+jacobgeo_rat_surfR[0]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[46]+jacobgeo_rat_surfR[1]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[44]+jacobgeo_rat_surfR[0]*JfR[36])); - JRatfR[20] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[34]+jacobgeo_rat_surfR[2]*JfR[33])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[43]+jacobgeo_rat_surfR[3]*JfR[35]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[39]+jacobgeo_rat_surfR[2]*JfR[38])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[37]+jacobgeo_rat_surfR[3]*JfR[32])); - JRatfR[21] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[2]*JfR[47]+jacobgeo_rat_surfR[1]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[2]*JfR[44]+jacobgeo_rat_surfR[1]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[3]*JfR[46]+jacobgeo_rat_surfR[0]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[3]*JfR[41]+jacobgeo_rat_surfR[0]*JfR[40])); - JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); - JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; - apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; - apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; - apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*(JRatfR[9]+JRatfR[8]+JRatfR[5])-0.25*(JRatfR[4]+JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*(JRatfR[9]+JRatfR[8])+0.25*(JRatfR[5]+JRatfR[4])-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*(JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*(JRatfR[2]+JRatfR[1])+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.2795084971874738*JRatfR[23])+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*JRatfR[18]+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*JRatfR[12]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.25*(JRatfR[5]+JRatfR[4])+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.22360679774997894*JRatfR[23]-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*JRatfR[15]-0.33541019662496846*JRatfR[14]+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.2795084971874738*JRatfR[23]-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18])+0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*JRatfR[12]+0.25*JRatfR[9]-0.25*(JRatfR[8]+JRatfR[5])+0.25*(JRatfR[4]+JRatfR[2])-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.22360679774997894*JRatfR[23])+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*JRatfR[18]-0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*JRatfR[15]+0.33541019662496846*JRatfR[14]-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*JRatfR[2]-0.25*JRatfR[1]+0.25*JRatfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*JRatfR[22]+0.2795084971874737*(JRatfR[21]+JRatfR[20])+0.2795084971874738*(JRatfR[19]+JRatfR[18])-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9])-0.25*(JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2])+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*JRatfR[22]-0.22360679774997896*(JRatfR[21]+JRatfR[20])-0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*JRatfR[9]-0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14])-0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]+0.33541019662496846*JRatfR[7]-0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*JRatfR[22]-0.2795084971874737*JRatfR[21]+0.2795084971874737*JRatfR[20]-0.2795084971874738*JRatfR[19]+0.2795084971874738*JRatfR[18]-0.2795084971874738*JRatfR[17]-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9])+0.25*JRatfR[8]-0.25*JRatfR[5]+0.25*JRatfR[4]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*JRatfR[22]+0.22360679774997896*JRatfR[21]-0.22360679774997896*JRatfR[20]+0.22360679774997894*JRatfR[19]-0.22360679774997902*JRatfR[18]+0.22360679774997902*JRatfR[17]+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14])+0.33541019662496846*JRatfR[13]-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*JRatfR[9]+0.25*JRatfR[8]-0.33541019662496846*JRatfR[7]+0.33541019662496846*JRatfR[6]-0.25*JRatfR[5]+0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]-0.25*JRatfR[2]+0.25*(JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]-0.33541019662496846*JRatfR[11]+0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.2795084971874738*JRatfR[23]+0.2795084971874737*(JRatfR[22]+JRatfR[21])-0.2795084971874737*JRatfR[20]+0.2795084971874738*JRatfR[19]-0.2795084971874738*(JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]-0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.22360679774997894*JRatfR[23])-0.22360679774997896*(JRatfR[22]+JRatfR[21])+0.22360679774997896*JRatfR[20]-0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])-0.25*JRatfR[12]+0.33541019662496846*JRatfR[11]-0.33541019662496846*JRatfR[10]-0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*JRatfR[5]-0.25*JRatfR[4]+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]-0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]-0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])-0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])-0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.2795084971874738*JRatfR[23])-0.2795084971874737*(JRatfR[22]+JRatfR[21]+JRatfR[20])-0.2795084971874738*(JRatfR[19]+JRatfR[18]+JRatfR[17])-0.2795084971874737*JRatfR[16]+0.25*(JRatfR[12]+JRatfR[9]+JRatfR[8]+JRatfR[5]+JRatfR[4]+JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.22360679774997894*JRatfR[23]+0.22360679774997896*(JRatfR[22]+JRatfR[21]+JRatfR[20])+0.22360679774997894*JRatfR[19]+0.22360679774997902*(JRatfR[18]+JRatfR[17])+0.22360679774997896*JRatfR[16]+0.33541019662496846*(JRatfR[15]+JRatfR[14]+JRatfR[13])+0.25*JRatfR[12]+0.33541019662496846*(JRatfR[11]+JRatfR[10])+0.25*(JRatfR[9]+JRatfR[8])+0.33541019662496846*(JRatfR[7]+JRatfR[6])+0.25*(JRatfR[5]+JRatfR[4])+0.33541019662496846*JRatfR[3]+0.25*(JRatfR[2]+JRatfR[1]+JRatfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c deleted file mode 100644 index 2ac072efa7..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[1])+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+JfL[1]*jacobgeo_rat_surfL[1])+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[6])+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[8])+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[6])+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[8])+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[13])+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[13])+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[18]+3.0*jacobgeo_rat_surfL[0]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+15.0*jacobgeo_rat_surfL[0]*JfL[18]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c deleted file mode 100644 index 484c74eea5..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[3]+jacobgeo_rat_surfL[1]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[1])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[8]+JfL[3]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[2]+JfL[0]*jacobgeo_rat_surfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[8]+JfL[2]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[8]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[2]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[9])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[12])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[23])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[37])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[34])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[33])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[32])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[37]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[34])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[44])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[33])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[34]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[32])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[37])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[41])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c deleted file mode 100644 index 717ef56760..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,223 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double JRatfL[12] = {0.}; - JRatfL[0] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[5]+jacobgeo_rat_surfL[0]*JfL[2])+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0]); - JRatfL[1] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[5]+jacobgeo_rat_surfL[1]*JfL[2])+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1]); - JRatfL[2] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[7])+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[3]); - JRatfL[3] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[9])+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[4]); - JRatfL[4] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[7])+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[3]); - JRatfL[5] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[9])+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[4]); - JRatfL[6] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[1]*JfL[15]+jacobgeo_rat_surfL[0]*JfL[14])+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[10]); - JRatfL[7] = 0.5*(1.7320508075688772*(jacobgeo_rat_surfL[0]*JfL[15]+jacobgeo_rat_surfL[1]*JfL[14])+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[10]); - JRatfL[8] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[20]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[18]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[17])+15.0*jacobgeo_rat_surfL[0]*JfL[16]); - JRatfL[9] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[20]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[16])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[18]+15.0*jacobgeo_rat_surfL[0]*JfL[17]); - JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); - JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])+0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*JRatfL[5]-0.3535533905932737*(JRatfL[3]+JRatfL[1])+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]-0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*JRatfL[7]-0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]-0.39528470752104733*JRatfL[10]+0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*JRatfL[5]+0.3535533905932737*JRatfL[3]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])+0.31622776601683794*JRatfL[10]-0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*JRatfL[7]+0.4743416490252568*JRatfL[6]-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]-0.3535533905932737*JRatfL[1]+0.3535533905932737*JRatfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3952847075210473*JRatfL[11]+0.39528470752104733*JRatfL[10]-0.39528470752104733*JRatfL[9]-0.3952847075210473*JRatfL[8]-0.3535533905932737*(JRatfL[5]+JRatfL[3])+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3162277660168379*JRatfL[11])-0.31622776601683794*JRatfL[10]+0.31622776601683794*JRatfL[9]+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])-0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]-0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]-0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]-0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]-0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3952847075210473*JRatfL[11])-0.39528470752104733*(JRatfL[10]+JRatfL[9])-0.3952847075210473*JRatfL[8]+0.3535533905932737*(JRatfL[5]+JRatfL[3]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3162277660168379*JRatfL[11]+0.31622776601683794*(JRatfL[10]+JRatfL[9])+0.3162277660168379*JRatfL[8]+0.4743416490252568*(JRatfL[7]+JRatfL[6])+0.3535533905932737*JRatfL[5]+0.4743416490252568*JRatfL[4]+0.3535533905932737*JRatfL[3]+0.4743416490252568*JRatfL[2]+0.3535533905932737*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c deleted file mode 100644 index dc082abd14..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,382 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[6]+jacobgeo_rat_surfL[0]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[6]+jacobgeo_rat_surfL[1]*JfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[7]+JfL[1]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[0]*JfL[3]+JfL[0]*jacobgeo_rat_surfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[7]+JfL[0]*jacobgeo_rat_surfL[3]+jacobgeo_rat_surfL[1]*JfL[3]+JfL[1]*jacobgeo_rat_surfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[35]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[38]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[38]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[35]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[34])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[37])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[38]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[35]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[42]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[45]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[34])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[35]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[37])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[38]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[45]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[42]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c deleted file mode 100644 index 0191a5c18f..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,380 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double JRatfL[24] = {0.}; - JRatfL[0] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[16]+jacobgeo_rat_surfL[2]*JfL[8]+jacobgeo_rat_surfL[1]*JfL[7]+jacobgeo_rat_surfL[0]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[2]+JfL[1]*jacobgeo_rat_surfL[1]+JfL[0]*jacobgeo_rat_surfL[0])); - JRatfL[1] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[16]+jacobgeo_rat_surfL[3]*JfL[8]+jacobgeo_rat_surfL[0]*JfL[7]+jacobgeo_rat_surfL[1]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[6]+JfL[2]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[1]+jacobgeo_rat_surfL[0]*JfL[1])); - JRatfL[2] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[16]+jacobgeo_rat_surfL[0]*JfL[8]+jacobgeo_rat_surfL[3]*JfL[7]+jacobgeo_rat_surfL[2]*JfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[6]+JfL[1]*jacobgeo_rat_surfL[3]+JfL[0]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[0]*JfL[2])); - JRatfL[3] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[26]+jacobgeo_rat_surfL[2]*JfL[19]+jacobgeo_rat_surfL[1]*JfL[18]+jacobgeo_rat_surfL[0]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[17]+jacobgeo_rat_surfL[2]*JfL[10]+jacobgeo_rat_surfL[1]*JfL[9]+jacobgeo_rat_surfL[0]*JfL[4])); - JRatfL[4] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[27]+jacobgeo_rat_surfL[2]*JfL[22]+jacobgeo_rat_surfL[1]*JfL[21]+jacobgeo_rat_surfL[0]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[20]+jacobgeo_rat_surfL[2]*JfL[13]+jacobgeo_rat_surfL[1]*JfL[12]+jacobgeo_rat_surfL[0]*JfL[5])); - JRatfL[5] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[16]+jacobgeo_rat_surfL[1]*JfL[8]+jacobgeo_rat_surfL[2]*JfL[7]+JfL[3]*jacobgeo_rat_surfL[3])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[6]+JfL[0]*jacobgeo_rat_surfL[3]+JfL[1]*jacobgeo_rat_surfL[2]+jacobgeo_rat_surfL[1]*JfL[2])); - JRatfL[6] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[26]+jacobgeo_rat_surfL[3]*JfL[19]+jacobgeo_rat_surfL[0]*JfL[18]+jacobgeo_rat_surfL[1]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[17]+jacobgeo_rat_surfL[3]*JfL[10]+jacobgeo_rat_surfL[0]*JfL[9]+jacobgeo_rat_surfL[1]*JfL[4])); - JRatfL[7] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[26]+jacobgeo_rat_surfL[0]*JfL[19]+jacobgeo_rat_surfL[3]*JfL[18]+jacobgeo_rat_surfL[2]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[17]+jacobgeo_rat_surfL[0]*JfL[10]+jacobgeo_rat_surfL[3]*JfL[9]+jacobgeo_rat_surfL[2]*JfL[4])); - JRatfL[8] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[27]+jacobgeo_rat_surfL[3]*JfL[22]+jacobgeo_rat_surfL[0]*JfL[21]+jacobgeo_rat_surfL[1]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[20]+jacobgeo_rat_surfL[3]*JfL[13]+jacobgeo_rat_surfL[0]*JfL[12]+jacobgeo_rat_surfL[1]*JfL[5])); - JRatfL[9] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[27]+jacobgeo_rat_surfL[0]*JfL[22]+jacobgeo_rat_surfL[3]*JfL[21]+jacobgeo_rat_surfL[2]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[20]+jacobgeo_rat_surfL[0]*JfL[13]+jacobgeo_rat_surfL[3]*JfL[12]+jacobgeo_rat_surfL[2]*JfL[5])); - JRatfL[10] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[3]*JfL[31]+jacobgeo_rat_surfL[2]*JfL[30]+jacobgeo_rat_surfL[1]*JfL[29]+jacobgeo_rat_surfL[0]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[3]*JfL[28]+jacobgeo_rat_surfL[2]*JfL[24]+jacobgeo_rat_surfL[1]*JfL[23]+jacobgeo_rat_surfL[0]*JfL[15])); - JRatfL[11] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[26]+jacobgeo_rat_surfL[1]*JfL[19]+jacobgeo_rat_surfL[2]*JfL[18]+jacobgeo_rat_surfL[3]*JfL[11])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[17]+jacobgeo_rat_surfL[1]*JfL[10]+jacobgeo_rat_surfL[2]*JfL[9]+jacobgeo_rat_surfL[3]*JfL[4])); - JRatfL[12] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[27]+jacobgeo_rat_surfL[1]*JfL[22]+jacobgeo_rat_surfL[2]*JfL[21]+jacobgeo_rat_surfL[3]*JfL[14])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[20]+jacobgeo_rat_surfL[1]*JfL[13]+jacobgeo_rat_surfL[2]*JfL[12]+jacobgeo_rat_surfL[3]*JfL[5])); - JRatfL[13] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[31]+jacobgeo_rat_surfL[3]*JfL[30]+jacobgeo_rat_surfL[0]*JfL[29]+jacobgeo_rat_surfL[1]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[2]*JfL[28]+jacobgeo_rat_surfL[3]*JfL[24]+jacobgeo_rat_surfL[0]*JfL[23]+jacobgeo_rat_surfL[1]*JfL[15])); - JRatfL[14] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[31]+jacobgeo_rat_surfL[0]*JfL[30]+jacobgeo_rat_surfL[3]*JfL[29]+jacobgeo_rat_surfL[2]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[1]*JfL[28]+jacobgeo_rat_surfL[0]*JfL[24]+jacobgeo_rat_surfL[3]*JfL[23]+jacobgeo_rat_surfL[2]*JfL[15])); - JRatfL[15] = 0.25*(2.4494897427831783*(jacobgeo_rat_surfL[0]*JfL[31]+jacobgeo_rat_surfL[1]*JfL[30]+jacobgeo_rat_surfL[2]*JfL[29]+jacobgeo_rat_surfL[3]*JfL[25])+1.4142135623730951*(jacobgeo_rat_surfL[0]*JfL[28]+jacobgeo_rat_surfL[1]*JfL[24]+jacobgeo_rat_surfL[2]*JfL[23]+jacobgeo_rat_surfL[3]*JfL[15])); - JRatfL[16] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[43]+jacobgeo_rat_surfL[0]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[34]+jacobgeo_rat_surfL[1]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[39]+jacobgeo_rat_surfL[1]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[37]+jacobgeo_rat_surfL[0]*JfL[32])); - JRatfL[17] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[43]+jacobgeo_rat_surfL[1]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[39]+jacobgeo_rat_surfL[0]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[37]+jacobgeo_rat_surfL[1]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[34]+jacobgeo_rat_surfL[0]*JfL[33])); - JRatfL[18] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[43]+jacobgeo_rat_surfL[2]*JfL[35])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[39]+jacobgeo_rat_surfL[3]*JfL[38])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[37]+jacobgeo_rat_surfL[2]*JfL[32]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[34]+jacobgeo_rat_surfL[3]*JfL[33])); - JRatfL[19] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[47]+jacobgeo_rat_surfL[0]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[41]+jacobgeo_rat_surfL[1]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[46]+jacobgeo_rat_surfL[1]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[44]+jacobgeo_rat_surfL[0]*JfL[36])); - JRatfL[20] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[43]+jacobgeo_rat_surfL[3]*JfL[35])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[34]+jacobgeo_rat_surfL[2]*JfL[33]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[39]+jacobgeo_rat_surfL[2]*JfL[38])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[37]+jacobgeo_rat_surfL[3]*JfL[32])); - JRatfL[21] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[2]*JfL[47]+jacobgeo_rat_surfL[1]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[3]*JfL[46]+jacobgeo_rat_surfL[0]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[2]*JfL[44]+jacobgeo_rat_surfL[1]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[3]*JfL[41]+jacobgeo_rat_surfL[0]*JfL[40])); - JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); - JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*(JRatfL[9]+JRatfL[8]+JRatfL[5])-0.25*(JRatfL[4]+JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*(JRatfL[9]+JRatfL[8])+0.25*(JRatfL[5]+JRatfL[4])-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*(JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*(JRatfL[2]+JRatfL[1])+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*JRatfL[18]+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*JRatfL[12]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.25*(JRatfL[5]+JRatfL[4])+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*JRatfL[15]-0.33541019662496846*JRatfL[14]+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18])+0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*JRatfL[12]+0.25*JRatfL[9]-0.25*(JRatfL[8]+JRatfL[5])+0.25*(JRatfL[4]+JRatfL[2])-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*JRatfL[18]-0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*JRatfL[15]+0.33541019662496846*JRatfL[14]-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*JRatfL[2]-0.25*JRatfL[1]+0.25*JRatfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*JRatfL[22]+0.2795084971874737*(JRatfL[21]+JRatfL[20])+0.2795084971874738*(JRatfL[19]+JRatfL[18])-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9])-0.25*(JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2])+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*JRatfL[22]-0.22360679774997896*(JRatfL[21]+JRatfL[20])-0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*JRatfL[9]-0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14])-0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]+0.33541019662496846*JRatfL[7]-0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*JRatfL[22]-0.2795084971874737*JRatfL[21]+0.2795084971874737*JRatfL[20]-0.2795084971874738*JRatfL[19]+0.2795084971874738*JRatfL[18]-0.2795084971874738*JRatfL[17]-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9])+0.25*JRatfL[8]-0.25*JRatfL[5]+0.25*JRatfL[4]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*JRatfL[22]+0.22360679774997896*JRatfL[21]-0.22360679774997896*JRatfL[20]+0.22360679774997894*JRatfL[19]-0.22360679774997902*JRatfL[18]+0.22360679774997902*JRatfL[17]+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14])+0.33541019662496846*JRatfL[13]-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*JRatfL[9]+0.25*JRatfL[8]-0.33541019662496846*JRatfL[7]+0.33541019662496846*JRatfL[6]-0.25*JRatfL[5]+0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]-0.25*JRatfL[2]+0.25*(JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]-0.33541019662496846*JRatfL[11]+0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.2795084971874738*JRatfL[23]+0.2795084971874737*(JRatfL[22]+JRatfL[21])-0.2795084971874737*JRatfL[20]+0.2795084971874738*JRatfL[19]-0.2795084971874738*(JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]-0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.22360679774997894*JRatfL[23])-0.22360679774997896*(JRatfL[22]+JRatfL[21])+0.22360679774997896*JRatfL[20]-0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])-0.25*JRatfL[12]+0.33541019662496846*JRatfL[11]-0.33541019662496846*JRatfL[10]-0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*JRatfL[5]-0.25*JRatfL[4]+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]-0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]-0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])-0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])-0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.2795084971874738*JRatfL[23])-0.2795084971874737*(JRatfL[22]+JRatfL[21]+JRatfL[20])-0.2795084971874738*(JRatfL[19]+JRatfL[18]+JRatfL[17])-0.2795084971874737*JRatfL[16]+0.25*(JRatfL[12]+JRatfL[9]+JRatfL[8]+JRatfL[5]+JRatfL[4]+JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.22360679774997894*JRatfL[23]+0.22360679774997896*(JRatfL[22]+JRatfL[21]+JRatfL[20])+0.22360679774997894*JRatfL[19]+0.22360679774997902*(JRatfL[18]+JRatfL[17])+0.22360679774997896*JRatfL[16]+0.33541019662496846*(JRatfL[15]+JRatfL[14]+JRatfL[13])+0.25*JRatfL[12]+0.33541019662496846*(JRatfL[11]+JRatfL[10])+0.25*(JRatfL[9]+JRatfL[8])+0.33541019662496846*(JRatfL[7]+JRatfL[6])+0.25*(JRatfL[5]+JRatfL[4])+0.33541019662496846*JRatfL[3]+0.25*(JRatfL[2]+JRatfL[1]+JRatfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index a4d4852316..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,168 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; - hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index 9db01b0ddb..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,281 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_; - hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[4] = 2.0*vmapSq[1]*m_; - hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[6] = 2.0*phi[4]*q_; - hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; - hamil[8] = 2.0*phi[6]*q_; - hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 2.0*phi[7]*q_; - hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; - hamil[32] = 2.0*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[72]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[4].bmag; - B3_quad = gkdgv[4].B3; - dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[5].bmag; - B3_quad = gkdgv[5].B3; - dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[6].bmag; - B3_quad = gkdgv[6].B3; - dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[7].bmag; - B3_quad = gkdgv[7].B3; - dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c deleted file mode 100644 index 021c3b4c0f..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c deleted file mode 100644 index 16322da7ec..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c deleted file mode 100644 index 6df6055c88..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,209 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c deleted file mode 100644 index 5a717ab448..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,356 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c deleted file mode 100644 index c143d2e516..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,354 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c deleted file mode 100644 index 81863bd899..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1.c +++ /dev/null @@ -1,93 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; - hamil[1] = 1.4142135623730951*phi[1]*q_; - hamil[2] = 0.7071067811865475*vmapSq[1]*m_; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[3]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(1.1180339887498951*JfR[5])+1.118033988749895*JfR[4]+0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]-0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; - JfR_quad = (1.1180339887498951*JfR[5]+1.118033988749895*JfR[4]-0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]+0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c deleted file mode 100644 index d86d28cdd8..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1.c +++ /dev/null @@ -1,117 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = vmapSq[1]*m_; - hamil[3] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[5] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[6]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.7905694150420947*JfR[11]-0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.7905694150420947*JfR[11])+0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.7905694150420947*JfR[11])-0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.7905694150420947*JfR[11]+0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index 6f884a9f3a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,216 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; - hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index c210c0e1f1..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,425 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_; - hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[4] = 2.0*vmapSq[1]*m_; - hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[6] = 2.0*phi[4]*q_; - hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; - hamil[8] = 2.0*phi[6]*q_; - hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 2.0*phi[7]*q_; - hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; - hamil[32] = 2.0*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[72]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[4].bmag; - B3_quad = gkdgv[4].B3; - dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[5].bmag; - B3_quad = gkdgv[5].B3; - dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[6].bmag; - B3_quad = gkdgv[6].B3; - dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[7].bmag; - B3_quad = gkdgv[7].B3; - dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c deleted file mode 100644 index 37cbe773dc..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,107 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double apar_surf[3] = {0.}; - apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c deleted file mode 100644 index 06aa03bcf5..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,141 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double apar_surf[6] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c deleted file mode 100644 index 83fbd9d73a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c deleted file mode 100644 index 8c775e0b8e..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c deleted file mode 100644 index e617ddb95c..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c deleted file mode 100644 index 3e950f1ca2..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,452 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c deleted file mode 100644 index 927f268fc5..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_star_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c deleted file mode 100644 index cc407711b2..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x1v_ser_p1.c +++ /dev/null @@ -1,95 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = 1.4142135623730951*phi[0]*q_+0.7071067811865475*vmapSq[0]*m_; - hamil[1] = 1.4142135623730951*phi[1]*q_; - hamil[2] = 0.7071067811865475*vmapSq[1]*m_; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[3]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; - alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(1.1180339887498951*JfR[5])+1.118033988749895*JfR[4]+0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]-0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; - JfR_quad = (1.1180339887498951*JfR[5]+1.118033988749895*JfR[4]-0.8660254037844386*JfR[3]-0.8660254037844386*JfR[2]+0.5*JfR[1]+0.5*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c deleted file mode 100644 index 23fb41943f..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_1x2v_ser_p1.c +++ /dev/null @@ -1,121 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = 2.0*phi[0]*q_+vmapSq[0]*m_+1.4142135623730951*bmag[0]*vmap[2]; - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = vmapSq[1]*m_; - hamil[3] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[5] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[6]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; - alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.7905694150420947*JfR[11]-0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; - alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.7905694150420947*JfR[11])+0.7905694150420948*JfR[10]-0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]+0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]-0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.7905694150420947*JfR[11])-0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]+0.6123724356957944*JfR[7]+0.6123724356957944*JfR[6]-0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.7905694150420947*JfR[11]+0.7905694150420948*JfR[10]+0.7905694150420948*JfR[9]+0.7905694150420947*JfR[8]-0.6123724356957944*JfR[7]-0.6123724356957944*JfR[6]+0.3535533905932737*JfR[5]-0.6123724356957944*JfR[4]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[2]+0.3535533905932737*JfR[1]+0.3535533905932737*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c deleted file mode 100644 index b577e243d0..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_2x2v_ser_p1.c +++ /dev/null @@ -1,224 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = 2.0*phi[0]*q_+1.4142135623730951*(vmapSq[0]*m_+bmag[0]*vmap[2]); - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_+1.4142135623730951*bmag[2]*vmap[2]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[5] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[8] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[9] = 1.4142135623730951*bmag[2]*vmap[3]; - hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]-0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]+0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]-0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]+0.25*JfR[12]+0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]+0.25*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]-0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]-0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]-0.25*JfR[12]+0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]-0.25*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]-0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]-0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.5590169943749476*JfR[23])-0.5590169943749475*JfR[22]-0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]-0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]+0.4330127018922193*JfR[15]+0.4330127018922193*JfR[14]+0.4330127018922193*JfR[13]-0.25*JfR[12]-0.4330127018922193*JfR[11]+0.4330127018922193*JfR[10]-0.25*JfR[9]-0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); - alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.5590169943749476*JfR[23]+0.5590169943749475*JfR[22]+0.5590169943749475*JfR[21]+0.5590169943749475*JfR[20]+0.5590169943749476*JfR[19]+0.5590169943749476*JfR[18]+0.5590169943749476*JfR[17]+0.5590169943749475*JfR[16]-0.4330127018922193*JfR[15]-0.4330127018922193*JfR[14]-0.4330127018922193*JfR[13]+0.25*JfR[12]-0.4330127018922193*JfR[11]-0.4330127018922193*JfR[10]+0.25*JfR[9]+0.25*JfR[8]-0.4330127018922193*JfR[7]-0.4330127018922193*JfR[6]+0.25*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[3]+0.25*JfR[2]+0.25*JfR[1]+0.25*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c deleted file mode 100644 index b7cd11600a..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfvpar_3x2v_ser_p1.c +++ /dev/null @@ -1,441 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap_prime_l,vmap_prime_r: velocity space mapping derivative in left and right cells. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgv: volume DG geometry. - // gkdgv: gyrokinetic volume DG geometry. - // bmag: magnetic field amplitude. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = 2.0*(phi[0]*q_+vmapSq[0]*m_)+1.4142135623730951*bmag[0]*vmap[2]; - hamil[1] = 2.0*phi[1]*q_+1.4142135623730951*bmag[1]*vmap[2]; - hamil[2] = 2.0*phi[2]*q_; - hamil[3] = 2.0*phi[3]*q_+1.4142135623730951*vmap[2]*bmag[3]; - hamil[4] = 2.0*vmapSq[1]*m_; - hamil[5] = 1.4142135623730951*bmag[0]*vmap[3]; - hamil[6] = 2.0*phi[4]*q_; - hamil[7] = 2.0*phi[5]*q_+1.4142135623730951*vmap[2]*bmag[5]; - hamil[8] = 2.0*phi[6]*q_; - hamil[12] = 1.4142135623730951*bmag[1]*vmap[3]; - hamil[14] = 1.4142135623730951*bmag[3]*vmap[3]; - hamil[16] = 2.0*phi[7]*q_; - hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; - hamil[32] = 2.0*vmapSq[2]*m_; - - double *flux_surf_nodal = &flux_surf[72]; - double cfl = 0.0; - double bmag_quad = 0.0; - double B3_quad = 0.0; - double dualcurlbhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double bioverJB_quad[3] = {0.0}; - - bmag_quad = gkdgv[0].bmag; - B3_quad = gkdgv[0].B3; - dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[1].bmag; - B3_quad = gkdgv[1].B3; - dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[2].bmag; - B3_quad = gkdgv[2].B3; - dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[3].bmag; - B3_quad = gkdgv[3].B3; - dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]-0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]+0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[4].bmag; - B3_quad = gkdgv[4].B3; - dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[5].bmag; - B3_quad = gkdgv[5].B3; - dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]-0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]-0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]+0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]+0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[6].bmag; - B3_quad = gkdgv[6].B3; - dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]-0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]-0.3952847075210473*JfR[39]-0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]-0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]+0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*JfR[19]+0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]-0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]-0.1767766952966368*JfR[8]-0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - bmag_quad = gkdgv[7].bmag; - B3_quad = gkdgv[7].B3; - dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; - dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; - dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; - bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; - bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; - bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; - - alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (-(0.3952847075210473*JfR[47])-0.39528470752104733*JfR[46]-0.39528470752104733*JfR[45]-0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]-0.3952847075210473*JfR[42]-0.3952847075210473*JfR[41]-0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]-0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]+0.3061862178478971*JfR[31]+0.3061862178478971*JfR[30]+0.3061862178478971*JfR[29]+0.3061862178478971*JfR[28]-0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]+0.3061862178478971*JfR[25]+0.3061862178478971*JfR[24]+0.3061862178478971*JfR[23]-0.1767766952966368*JfR[22]-0.1767766952966368*JfR[21]-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]+0.3061862178478971*JfR[15]-0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); - alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); - - cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; - JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; - JfR_quad = (0.3952847075210473*JfR[47]+0.39528470752104733*JfR[46]+0.39528470752104733*JfR[45]+0.39528470752104733*JfR[44]+0.39528470752104733*JfR[43]+0.3952847075210473*JfR[42]+0.3952847075210473*JfR[41]+0.3952847075210473*JfR[40]+0.3952847075210473*JfR[39]+0.3952847075210473*JfR[38]+0.3952847075210473*JfR[37]+0.39528470752104733*JfR[36]+0.39528470752104733*JfR[35]+0.39528470752104733*JfR[34]+0.39528470752104733*JfR[33]+0.3952847075210473*JfR[32]-0.3061862178478971*JfR[31]-0.3061862178478971*JfR[30]-0.3061862178478971*JfR[29]-0.3061862178478971*JfR[28]+0.1767766952966368*JfR[27]-0.3061862178478971*JfR[26]-0.3061862178478971*JfR[25]-0.3061862178478971*JfR[24]-0.3061862178478971*JfR[23]+0.1767766952966368*JfR[22]+0.1767766952966368*JfR[21]+0.1767766952966368*JfR[20]-0.3061862178478971*JfR[19]-0.3061862178478971*JfR[18]-0.3061862178478971*JfR[17]+0.1767766952966368*JfR[16]-0.3061862178478971*JfR[15]+0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[11]-0.3061862178478971*JfR[10]-0.3061862178478971*JfR[9]+0.1767766952966368*JfR[8]+0.1767766952966368*JfR[7]+0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[4]+0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]+0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0])/vmap_prime_r[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0 ; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0 ; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; - - - double vmap_prime_min = fmin(fabs(vmap_prime_l[0]),fabs(vmap_prime_r[0])); - - return cfl/vmap_prime_min*2.5*rdvpar2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c deleted file mode 100644 index 7240774398..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x1v_ser_p1.c +++ /dev/null @@ -1,107 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[6] = {0.}; - hamil[0] = (phi[0]-1.7320508075688772*phi[1])*q_+0.5*vmapSq[0]*m_; - hamil[1] = 0.5*vmapSq[1]*m_; - hamil[2] = 0.5*vmapSq[2]*m_; - - double apar_surf[3] = {0.}; - apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(1.224744871391589*hamil[1]-3.6742346141747664*hamil[2]))/vmap[1]; - dHdvpar_quad[1] = (1.0*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(3.6742346141747664*hamil[2]+1.224744871391589*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]-1.1618950038622249*JfL[3]-0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]+1.1618950038622249*JfR[3]-0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.9682458365518543*JfL[5])-0.5590169943749475*JfL[4]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = 0.9682458365518543*JfR[5]-0.5590169943749475*JfR[4]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.7745966692414834*JfL[5]+0.4472135954999579*JfL[4]+1.1618950038622249*JfL[3]+0.6708203932499369*JfL[2]+0.8660254037844386*JfL[1]+0.5*JfL[0]; - JfR_quad = -(0.7745966692414834*JfR[5])+0.4472135954999579*JfR[4]-1.1618950038622249*JfR[3]+0.6708203932499369*JfR[2]-0.8660254037844386*JfR[1]+0.5*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c deleted file mode 100644 index c0917aa28c..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_1x2v_ser_p1.c +++ /dev/null @@ -1,141 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdvpar2 = 2.0/dxv[1]; - - double hamil[12] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+0.7071067811865475*vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = 0.7071067811865475*vmapSq[1]*m_; - hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[4] = 0.7071067811865475*vmapSq[2]*m_; - - double apar_surf[6] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.8660254037844386*hamil[1]-2.5980762113533156*hamil[4]))/vmap[1]; - dHdvpar_quad[1] = (0.7071067811865476*hamil[1])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(2.5980762113533156*hamil[4]+0.8660254037844386*hamil[1]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.6846531968814573*JfL[11]+0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]-0.6123724356957944*JfL[5]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.6846531968814573*JfR[11])+0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]+0.6123724356957944*JfR[5]-0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.5477225575051661*JfL[11])-0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]-0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]-0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.5477225575051661*JfR[11]-0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]+0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]-0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]-0.8215838362577489*JfL[7]-0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]-0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]-0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]+0.8215838362577489*JfR[7]-0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]+0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]-0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.6846531968814573*JfL[11])-0.39528470752104733*JfL[10]-0.6846531968814574*JfL[9]-0.3952847075210473*JfL[8]+0.6123724356957944*JfL[5]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = 0.6846531968814573*JfR[11]-0.39528470752104733*JfR[10]+0.6846531968814574*JfR[9]-0.3952847075210473*JfR[8]-0.6123724356957944*JfR[5]+0.3535533905932737*JfR[3]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.5477225575051661*JfL[11]+0.3162277660168379*JfL[10]+0.5477225575051661*JfL[9]+0.3162277660168379*JfL[8]+0.8215838362577489*JfL[7]+0.4743416490252568*JfL[6]+0.6123724356957944*JfL[5]+0.8215838362577489*JfL[4]+0.3535533905932737*JfL[3]+0.4743416490252568*JfL[2]+0.6123724356957944*JfL[1]+0.3535533905932737*JfL[0]; - JfR_quad = -(0.5477225575051661*JfR[11])+0.3162277660168379*JfR[10]-0.5477225575051661*JfR[9]+0.3162277660168379*JfR[8]-0.8215838362577489*JfR[7]+0.4743416490252568*JfR[6]-0.6123724356957944*JfR[5]-0.8215838362577489*JfR[4]+0.3535533905932737*JfR[3]+0.4743416490252568*JfR[2]-0.6123724356957944*JfR[1]+0.3535533905932737*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c deleted file mode 100644 index 256d3fa931..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[1])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[2]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]+0.4841229182759271*(JfL[21]+JfL[20])+0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]-0.4330127018922193*(JfL[8]+JfL[5])-0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]-0.4841229182759271*(JfR[21]+JfR[20])+0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]+0.4330127018922193*(JfR[8]+JfR[5])-0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]-0.38729833462074165*(JfL[21]+JfL[20])-0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]+0.38729833462074165*(JfR[21]+JfR[20])-0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]-0.4841229182759271*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]+0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]+0.4841229182759271*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]-0.4330127018922193*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]+0.38729833462074165*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]-0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]-0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]-0.38729833462074165*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]+0.2795084971874737*JfL[22]+0.4841229182759271*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.2795084971874738*JfL[18]-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.2795084971874737*JfR[22]-0.4841229182759271*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]-0.2795084971874738*JfR[18]+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.25*JfR[9]+0.4330127018922193*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.22360679774997896*JfL[22]-0.38729833462074165*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.25*JfL[9]-0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.22360679774997896*JfR[22]+0.38729833462074165*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.25*JfR[9]+0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]-0.33541019662496846*JfL[14]-0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]-0.33541019662496846*JfL[7]-0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.33541019662496846*JfR[14]+0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]-0.33541019662496846*JfR[7]+0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])-0.2795084971874737*JfL[22]-0.4841229182759271*(JfL[21]+JfL[20])-0.2795084971874738*(JfL[19]+JfL[18])-0.4841229182759271*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]+0.25*JfL[9]+0.4330127018922193*(JfL[8]+JfL[5])+0.25*(JfL[4]+JfL[2])+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.2795084971874737*JfR[22]+0.4841229182759271*(JfR[21]+JfR[20])-0.2795084971874738*(JfR[19]+JfR[18])+0.4841229182759271*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.25*JfR[9]-0.4330127018922193*(JfR[8]+JfR[5])+0.25*(JfR[4]+JfR[2])-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.22360679774997896*JfL[22]+0.38729833462074165*(JfL[21]+JfL[20])+0.22360679774997894*JfL[19]+0.22360679774997902*JfL[18]+0.3872983346207417*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]+0.33541019662496846*JfL[14]+0.5809475019311124*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.25*JfL[9]+0.4330127018922193*JfL[8]+0.33541019662496846*JfL[7]+0.5809475019311124*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.25*JfL[2]+0.4330127018922193*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.22360679774997896*JfR[22]-0.38729833462074165*(JfR[21]+JfR[20])+0.22360679774997894*JfR[19]+0.22360679774997902*JfR[18]-0.3872983346207417*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.33541019662496846*JfR[14]-0.5809475019311124*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.25*JfR[9]-0.4330127018922193*JfR[8]+0.33541019662496846*JfR[7]-0.5809475019311124*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]+0.25*JfR[2]-0.4330127018922193*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c deleted file mode 100644 index 670244e151..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfx_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[1]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+(bmag[0]-1.7320508075688772*bmag[1])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[4])*q_; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[6]-2.4494897427831783*phi[7])*q_; - hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; - apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; - apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[0]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]+0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*JfL[36]+0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]-0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*JfR[36]+0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]-0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]-0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]-0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]+0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]-0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]+0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]-0.34232659844072866*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])+0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]+0.34232659844072866*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]+0.273861278752583*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]-0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]+0.3061862178478971*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]-0.273861278752583*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]-0.3061862178478971*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.19764235376052364*JfL[41]+0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.19764235376052364*JfR[41]-0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.15811388300841892*JfL[41]-0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*JfL[21]-0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.15811388300841892*JfR[41]+0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*JfR[21]+0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.1767766952966368*JfR[13]+0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.2371708245126284*JfL[24]-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]+0.2371708245126284*JfL[19]+0.41079191812887433*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]+0.2371708245126284*JfL[11]-0.2371708245126284*JfL[10]-0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.2371708245126284*JfR[24]+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.2371708245126284*JfR[19]-0.41079191812887433*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]+0.2371708245126284*JfR[11]-0.2371708245126284*JfR[10]+0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.19764235376052364*JfL[41]-0.34232659844072866*JfL[40]+0.19764235376052364*JfL[39]+0.34232659844072866*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.19764235376052366*JfL[34]-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.19764235376052364*JfR[41]+0.34232659844072866*JfR[40]+0.19764235376052364*JfR[39]-0.34232659844072866*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]-0.19764235376052366*JfR[34]+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.15811388300841892*JfL[41]+0.273861278752583*JfL[40]-0.15811388300841892*JfL[39]-0.273861278752583*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.15811388300841894*JfL[34]+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.2371708245126284*JfL[24]+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*JfL[21]+0.3061862178478971*JfL[20]-0.2371708245126284*JfL[19]-0.41079191812887433*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.3061862178478971*JfL[12]-0.2371708245126284*JfL[11]+0.2371708245126284*JfL[10]+0.41079191812887433*JfL[9]-0.1767766952966368*JfL[8]-0.3061862178478971*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.15811388300841892*JfR[41]-0.273861278752583*JfR[40]-0.15811388300841892*JfR[39]+0.273861278752583*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]+0.15811388300841894*JfR[34]-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.2371708245126284*JfR[24]-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*JfR[21]-0.3061862178478971*JfR[20]-0.2371708245126284*JfR[19]+0.41079191812887433*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.1767766952966368*JfR[13]-0.3061862178478971*JfR[12]-0.2371708245126284*JfR[11]+0.2371708245126284*JfR[10]-0.41079191812887433*JfR[9]-0.1767766952966368*JfR[8]+0.3061862178478971*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]+0.1767766952966368*JfR[2]-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.19764235376052366*JfL[46]+0.3423265984407287*(JfL[45]+JfL[44])-0.3423265984407287*JfL[43]+0.19764235376052364*(JfL[42]+JfL[41])+0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])+0.19764235376052366*JfL[36]-0.19764235376052366*(JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.3061862178478971*JfL[16]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.19764235376052366*JfR[46]-0.3423265984407287*(JfR[45]+JfR[44])+0.3423265984407287*JfR[43]+0.19764235376052364*(JfR[42]+JfR[41])-0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])+0.19764235376052366*JfR[36]-0.19764235376052366*(JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])-0.3061862178478971*JfR[16]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.15811388300841892*JfL[46]-0.27386127875258304*(JfL[45]+JfL[44])+0.27386127875258304*JfL[43]-0.15811388300841892*(JfL[42]+JfL[41])-0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])-0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]-0.1767766952966368*JfL[22]-0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*(JfL[14]+JfL[13])-0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.15811388300841892*JfR[46]+0.27386127875258304*(JfR[45]+JfR[44])-0.27386127875258304*JfR[43]-0.15811388300841892*(JfR[42]+JfR[41])+0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])-0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]-0.1767766952966368*JfR[22]+0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*(JfR[14]+JfR[13])+0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]-0.2371708245126284*JfL[30]-0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*(JfL[25]+JfL[24])-0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])-0.2371708245126284*JfL[19]-0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]-0.2371708245126284*(JfL[11]+JfL[10])-0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.2371708245126284*JfR[30]+0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*(JfR[25]+JfR[24])+0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])-0.2371708245126284*JfR[19]+0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]-0.2371708245126284*(JfR[11]+JfR[10])+0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.19764235376052366*JfL[46]-0.3423265984407287*(JfL[45]+JfL[44]+JfL[43])-0.19764235376052364*(JfL[42]+JfL[41])-0.34232659844072866*JfL[40]-0.19764235376052364*JfL[39]-0.34232659844072866*(JfL[38]+JfL[37])-0.19764235376052366*(JfL[36]+JfL[35]+JfL[34])-0.3423265984407287*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20]+JfL[16])+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*(JfL[5]+JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.19764235376052366*JfR[46]+0.3423265984407287*(JfR[45]+JfR[44]+JfR[43])-0.19764235376052364*(JfR[42]+JfR[41])+0.34232659844072866*JfR[40]-0.19764235376052364*JfR[39]+0.34232659844072866*(JfR[38]+JfR[37])-0.19764235376052366*(JfR[36]+JfR[35]+JfR[34])+0.3423265984407287*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20]+JfR[16])+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*(JfR[5]+JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.15811388300841892*JfL[46]+0.27386127875258304*(JfL[45]+JfL[44]+JfL[43])+0.15811388300841892*(JfL[42]+JfL[41])+0.273861278752583*JfL[40]+0.15811388300841892*JfL[39]+0.273861278752583*(JfL[38]+JfL[37])+0.15811388300841892*JfL[36]+0.15811388300841894*(JfL[35]+JfL[34])+0.27386127875258304*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]+0.2371708245126284*JfL[30]+0.41079191812887433*(JfL[29]+JfL[28])+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*(JfL[25]+JfL[24])+0.41079191812887433*JfL[23]+0.1767766952966368*JfL[22]+0.3061862178478971*(JfL[21]+JfL[20])+0.2371708245126284*JfL[19]+0.41079191812887433*(JfL[18]+JfL[17])+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*(JfL[14]+JfL[13])+0.3061862178478971*JfL[12]+0.2371708245126284*(JfL[11]+JfL[10])+0.41079191812887433*JfL[9]+0.1767766952966368*JfL[8]+0.3061862178478971*(JfL[7]+JfL[6])+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*(JfL[3]+JfL[2])+0.3061862178478971*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.15811388300841892*JfR[46]-0.27386127875258304*(JfR[45]+JfR[44]+JfR[43])+0.15811388300841892*(JfR[42]+JfR[41])-0.273861278752583*JfR[40]+0.15811388300841892*JfR[39]-0.273861278752583*(JfR[38]+JfR[37])+0.15811388300841892*JfR[36]+0.15811388300841894*(JfR[35]+JfR[34])-0.27386127875258304*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.2371708245126284*JfR[30]-0.41079191812887433*(JfR[29]+JfR[28])-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*(JfR[25]+JfR[24])-0.41079191812887433*JfR[23]+0.1767766952966368*JfR[22]-0.3061862178478971*(JfR[21]+JfR[20])+0.2371708245126284*JfR[19]-0.41079191812887433*(JfR[18]+JfR[17])-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*(JfR[14]+JfR[13])-0.3061862178478971*JfR[12]+0.2371708245126284*(JfR[11]+JfR[10])-0.41079191812887433*JfR[9]+0.1767766952966368*JfR[8]-0.3061862178478971*(JfR[7]+JfR[6])+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*(JfR[3]+JfR[2])-0.3061862178478971*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdx2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c deleted file mode 100644 index 496e3bc191..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_2x2v_ser_p1.c +++ /dev/null @@ -1,257 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdz2 = 2.0/dxv[1]; - double rdvpar2 = 2.0/dxv[2]; - - double hamil[24] = {0.}; - hamil[0] = (1.4142135623730951*phi[0]-2.4494897427831783*phi[2])*q_+vmapSq[0]*m_+(bmag[0]-1.7320508075688772*bmag[2])*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[3])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[3]); - hamil[2] = vmapSq[1]*m_; - hamil[3] = (bmag[0]-1.7320508075688772*bmag[2])*vmap[3]; - hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[8] = vmapSq[2]*m_; - - double apar_surf[12] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; - - double *flux_surf_nodal = &flux_surf[12]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.6123724356957944*hamil[2]-1.837117307087383*hamil[8]))/vmap[1]; - dHdvpar_quad[1] = (0.49999999999999994*hamil[2])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.837117307087383*hamil[8]+0.6123724356957944*hamil[2]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*JfL[23])+0.4841229182759271*JfL[22]-0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*JfL[12]-0.4330127018922193*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.4841229182759271*JfR[23]-0.4841229182759271*JfR[22]-0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*JfR[12]+0.4330127018922193*JfR[9]+0.25*JfR[8]+0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]-0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.3872983346207417*JfR[23])+0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*JfL[15]-0.5809475019311124*JfL[14]+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*JfR[15]+0.5809475019311124*JfR[14]+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*JfL[23]-0.4841229182759271*JfL[22]+0.2795084971874737*JfL[21]+0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]+0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*JfL[12]+0.4330127018922193*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = -(0.4841229182759271*JfR[23])+0.4841229182759271*JfR[22]+0.2795084971874737*JfR[21]-0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]+0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*JfR[12]-0.4330127018922193*JfR[9]-0.25*JfR[8]+0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])+0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]-0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]-0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*JfL[15]+0.5809475019311124*JfL[14]-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]-0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]-0.25*JfL[1]+0.25*JfL[0]; - JfR_quad = 0.3872983346207417*JfR[23]-0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]+0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]-0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*JfR[15]-0.5809475019311124*JfR[14]-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]+0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]-0.25*JfR[1]+0.25*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.4841229182759271*(JfL[23]+JfL[22])+0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]+0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]-0.4330127018922193*(JfL[12]+JfL[9])-0.25*JfL[8]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.4841229182759271*(JfR[23]+JfR[22]))+0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]+0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]+0.4330127018922193*(JfR[12]+JfR[9])-0.25*JfR[8]-0.4330127018922193*JfR[5]-0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.3872983346207417*JfL[23])-0.38729833462074165*JfL[22]-0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]-0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]-0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]-0.4330127018922193*JfL[9]-0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]-0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.3872983346207417*JfR[23]+0.38729833462074165*JfR[22]-0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]-0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]+0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]+0.4330127018922193*JfR[9]-0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]-0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]-0.5809475019311124*(JfL[15]+JfL[14])-0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]-0.5809475019311124*JfL[11]-0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]-0.5809475019311124*JfL[7]-0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]-0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]+0.5809475019311124*(JfR[15]+JfR[14])-0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]+0.5809475019311124*JfR[11]-0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]+0.5809475019311124*JfR[7]-0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.4841229182759271*(JfL[23]+JfL[22]))-0.2795084971874737*JfL[21]-0.4841229182759271*JfL[20]-0.2795084971874738*JfL[19]-0.4841229182759271*JfL[18]-0.2795084971874738*JfL[17]-0.2795084971874737*JfL[16]+0.4330127018922193*(JfL[12]+JfL[9])+0.25*JfL[8]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = 0.4841229182759271*(JfR[23]+JfR[22])-0.2795084971874737*JfR[21]+0.4841229182759271*JfR[20]-0.2795084971874738*JfR[19]+0.4841229182759271*JfR[18]-0.2795084971874738*JfR[17]-0.2795084971874737*JfR[16]-0.4330127018922193*(JfR[12]+JfR[9])+0.25*JfR[8]-0.4330127018922193*JfR[5]+0.25*JfR[4]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); - alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.3872983346207417*JfL[23]+0.38729833462074165*JfL[22]+0.22360679774997896*JfL[21]+0.38729833462074165*JfL[20]+0.22360679774997894*JfL[19]+0.3872983346207417*JfL[18]+0.22360679774997902*JfL[17]+0.22360679774997896*JfL[16]+0.5809475019311124*(JfL[15]+JfL[14])+0.33541019662496846*JfL[13]+0.4330127018922193*JfL[12]+0.5809475019311124*JfL[11]+0.33541019662496846*JfL[10]+0.4330127018922193*JfL[9]+0.25*JfL[8]+0.5809475019311124*JfL[7]+0.33541019662496846*JfL[6]+0.4330127018922193*JfL[5]+0.25*JfL[4]+0.33541019662496846*JfL[3]+0.4330127018922193*JfL[2]+0.25*(JfL[1]+JfL[0]); - JfR_quad = -(0.3872983346207417*JfR[23])-0.38729833462074165*JfR[22]+0.22360679774997896*JfR[21]-0.38729833462074165*JfR[20]+0.22360679774997894*JfR[19]-0.3872983346207417*JfR[18]+0.22360679774997902*JfR[17]+0.22360679774997896*JfR[16]-0.5809475019311124*(JfR[15]+JfR[14])+0.33541019662496846*JfR[13]-0.4330127018922193*JfR[12]-0.5809475019311124*JfR[11]+0.33541019662496846*JfR[10]-0.4330127018922193*JfR[9]+0.25*JfR[8]-0.5809475019311124*JfR[7]+0.33541019662496846*JfR[6]-0.4330127018922193*JfR[5]+0.25*JfR[4]+0.33541019662496846*JfR[3]-0.4330127018922193*JfR[2]+0.25*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c deleted file mode 100644 index 3b0af0a204..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfy_3x2v_ser_p1.c +++ /dev/null @@ -1,452 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[2]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+bmag[0]*vmap[2]; - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[4])*q_+bmag[1]*vmap[2]; - hamil[2] = (1.4142135623730951*phi[3]-2.4494897427831783*phi[6])*q_+vmap[2]*bmag[3]; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = bmag[0]*vmap[3]; - hamil[5] = (1.4142135623730951*phi[5]-2.4494897427831783*phi[7])*q_+vmap[2]*bmag[5]; - hamil[8] = bmag[1]*vmap[3]; - hamil[9] = bmag[3]*vmap[3]; - hamil[12] = vmap[3]*bmag[5]; - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; - apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[24]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]+0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]-0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]-0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]-0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]+0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]+0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]+0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]-0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]-0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]+0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]-0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]+0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]-0.3423265984407287*JfL[44]+0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]+0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*JfL[36]+0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]+0.3423265984407287*JfR[44]-0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*JfR[36]+0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]+0.27386127875258304*JfL[44]-0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]-0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]-0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]-0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]-0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]-0.27386127875258304*JfR[44]+0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]-0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]+0.19764235376052366*JfL[45]+0.3423265984407287*JfL[44]-0.3423265984407287*JfL[43]+0.19764235376052364*JfL[42]+0.34232659844072866*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]+0.19764235376052366*JfL[36]-0.19764235376052366*JfL[35]-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.3061862178478971*JfL[16]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.19764235376052366*JfR[45]-0.3423265984407287*JfR[44]+0.3423265984407287*JfR[43]+0.19764235376052364*JfR[42]-0.34232659844072866*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]+0.19764235376052366*JfR[36]-0.19764235376052366*JfR[35]+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.3061862178478971*JfR[16]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]-0.15811388300841892*JfL[45]-0.27386127875258304*JfL[44]+0.27386127875258304*JfL[43]-0.15811388300841892*JfL[42]-0.273861278752583*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]-0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]-0.1767766952966368*JfL[21]-0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.1767766952966368*JfL[14]-0.3061862178478971*JfL[13]-0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.15811388300841892*JfR[45]+0.27386127875258304*JfR[44]-0.27386127875258304*JfR[43]-0.15811388300841892*JfR[42]+0.273861278752583*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]-0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.1767766952966368*JfR[21]+0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.1767766952966368*JfR[14]+0.3061862178478971*JfR[13]-0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])-0.2371708245126284*JfL[29]-0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]-0.2371708245126284*JfL[25]-0.41079191812887433*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]-0.41079191812887433*JfL[19]-0.2371708245126284*JfL[18]-0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]-0.2371708245126284*JfL[11]-0.41079191812887433*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.2371708245126284*JfR[29]+0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.2371708245126284*JfR[25]+0.41079191812887433*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]+0.41079191812887433*JfR[19]-0.2371708245126284*JfR[18]+0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.2371708245126284*JfR[11]+0.41079191812887433*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]-0.19764235376052366*JfL[45]-0.3423265984407287*(JfL[44]+JfL[43])-0.19764235376052364*JfL[42]-0.34232659844072866*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]-0.19764235376052364*JfL[38]-0.34232659844072866*JfL[37]-0.19764235376052366*(JfL[36]+JfL[35])-0.3423265984407287*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])+0.1767766952966368*JfL[21]+0.3061862178478971*(JfL[20]+JfL[16])+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*(JfL[5]+JfL[3])+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.19764235376052366*JfR[45]+0.3423265984407287*(JfR[44]+JfR[43])-0.19764235376052364*JfR[42]+0.34232659844072866*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.19764235376052364*JfR[38]+0.34232659844072866*JfR[37]-0.19764235376052366*(JfR[36]+JfR[35])+0.3423265984407287*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.1767766952966368*JfR[21]-0.3061862178478971*(JfR[20]+JfR[16])+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*(JfR[5]+JfR[3])-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = 0.0; - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]+0.15811388300841892*JfL[45]+0.27386127875258304*(JfL[44]+JfL[43])+0.15811388300841892*JfL[42]+0.273861278752583*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]+0.15811388300841892*JfL[38]+0.273861278752583*JfL[37]+0.15811388300841892*JfL[36]+0.15811388300841894*JfL[35]+0.27386127875258304*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])+0.2371708245126284*JfL[29]+0.41079191812887433*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]+0.2371708245126284*JfL[25]+0.41079191812887433*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]+0.1767766952966368*JfL[21]+0.3061862178478971*JfL[20]+0.41079191812887433*JfL[19]+0.2371708245126284*JfL[18]+0.41079191812887433*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.1767766952966368*JfL[14]+0.3061862178478971*JfL[13]+0.1767766952966368*JfL[12]+0.2371708245126284*JfL[11]+0.41079191812887433*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]+0.1767766952966368*JfL[7]+0.3061862178478971*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.1767766952966368*JfL[3]+0.3061862178478971*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.15811388300841892*JfR[45]-0.27386127875258304*(JfR[44]+JfR[43])+0.15811388300841892*JfR[42]-0.273861278752583*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.15811388300841892*JfR[38]-0.273861278752583*JfR[37]+0.15811388300841892*JfR[36]+0.15811388300841894*JfR[35]-0.27386127875258304*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.2371708245126284*JfR[29]-0.41079191812887433*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.2371708245126284*JfR[25]-0.41079191812887433*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.1767766952966368*JfR[21]-0.3061862178478971*JfR[20]-0.41079191812887433*JfR[19]+0.2371708245126284*JfR[18]-0.41079191812887433*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.1767766952966368*JfR[14]-0.3061862178478971*JfR[13]+0.1767766952966368*JfR[12]+0.2371708245126284*JfR[11]-0.41079191812887433*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.1767766952966368*JfR[7]-0.3061862178478971*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]+0.1767766952966368*JfR[3]-0.3061862178478971*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdy2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c deleted file mode 100644 index ee0ef2c9bf..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_em_surfz_3x2v_ser_p1.c +++ /dev/null @@ -1,450 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - // w[NDIM]: cell-center. - // dxv[NDIM]: cell length. - // vmap: velocity space mapping. - // vmapSq: velocity space mapping squared. - // q_,m_: species charge and mass. - // dgs: surface DG geometry. - // gkdgs: gyrokinetic surface DG geometry. - // bmag: bmag represented on the surface. - // jacobgeo_rat_surfL: Ratio of surface conf-space Jacobians in left cell. - // jacobgeo_rat_surfR: Ratio of surface conf-space Jacobians in right cell. - // phi: electrostatic potential. - // apar: parallel component of vector potential. - // apardot: time derivative of parallel component of vector potential. - // JfL: distribution times total jacobian in left cell. - // JfR: distribution times total jacobian in right cell. - // flux_surf: output surface phase space flux in each direction (cdim + 1 components). - // Note: Each cell owns their *lower* edge surface evaluation. - - double rdx2 = 2.0/dxv[0]; - double rdy2 = 2.0/dxv[1]; - double rdz2 = 2.0/dxv[2]; - double rdvpar2 = 2.0/dxv[3]; - - double hamil[48] = {0.}; - hamil[0] = -(2.4494897427831783*phi[3]*q_)+1.4142135623730951*(phi[0]*q_+vmapSq[0]*m_)+vmap[2]*(bmag[0]-1.7320508075688772*bmag[3]); - hamil[1] = (1.4142135623730951*phi[1]-2.4494897427831783*phi[5])*q_+vmap[2]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[2] = (1.4142135623730951*phi[2]-2.4494897427831783*phi[6])*q_; - hamil[3] = 1.4142135623730951*vmapSq[1]*m_; - hamil[4] = (bmag[0]-1.7320508075688772*bmag[3])*vmap[3]; - hamil[5] = (1.4142135623730951*phi[4]-2.4494897427831783*phi[7])*q_; - hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); - hamil[16] = 1.4142135623730951*vmapSq[2]*m_; - - double apar_surf[24] = {0.}; - apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; - apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; - apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; - apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; - - double *flux_surf_nodal = &flux_surf[48]; - double cfl = 0.0; - double bmag_quad = 0.0; - double Jc_quad = 0.0; - double B3_quad = 0.0; - double normcurlbhat_quad = 0.0; - double area_elem_quad = 0.0; - double bhat_quad[3] = {0.0}; - double alpha_quad = 0.0; - double JfL_quad = 0.0; - double JfR_quad = 0.0; - double Jfavg_quad = 0.0; - double Jfjump_quad = 0.0; - double dHdvpar_quad[3] = {0.0}; - dHdvpar_quad[0] = (0.8164965809277261*(0.4330127018922193*hamil[3]-1.2990381056766578*hamil[16]))/vmap[1]; - dHdvpar_quad[1] = (0.3535533905932738*hamil[3])/vmap[1]; - dHdvpar_quad[2] = (0.8164965809277261*(1.2990381056766578*hamil[16]+0.4330127018922193*hamil[3]))/vmap[1]; - double mvparsq_quad[3] = {0.0}; - mvparsq_quad[0] = dHdvpar_quad[0]*dHdvpar_quad[0]/m_; - mvparsq_quad[1] = dHdvpar_quad[1]*dHdvpar_quad[1]/m_; - mvparsq_quad[2] = dHdvpar_quad[2]*dHdvpar_quad[2]/m_; - - bmag_quad = gkdgs[0].bmag; - Jc_quad = gkdgs[0].Jc; - B3_quad = gkdgs[0].B3; - normcurlbhat_quad = gkdgs[0].normcurlbhat; - bhat_quad[0] = gkdgs[0].bhat.x[0]; - bhat_quad[1] = gkdgs[0].bhat.x[1]; - bhat_quad[2] = gkdgs[0].bhat.x[2]; - area_elem_quad = dgs[0].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[1] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*(JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*(JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[3] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])+0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*(JfL[13]+JfL[12])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])-0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*(JfR[13]+JfR[12])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])-0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*(JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])-0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*(JfL[2]+JfL[1])+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])+0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*(JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])+0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*(JfR[2]+JfR[1])+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[5] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[1].bmag; - Jc_quad = gkdgs[1].Jc; - B3_quad = gkdgs[1].B3; - normcurlbhat_quad = gkdgs[1].normcurlbhat; - bhat_quad[0] = gkdgs[1].bhat.x[0]; - bhat_quad[1] = gkdgs[1].bhat.x[1]; - bhat_quad[2] = gkdgs[1].bhat.x[2]; - area_elem_quad = dgs[1].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*JfL[27]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.34232659844072866*JfR[47]-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*JfR[27]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[7] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.273861278752583*JfR[47])+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*JfL[31]-0.41079191812887433*JfL[30]+0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*JfR[31]+0.41079191812887433*JfR[30]-0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[9] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]-0.34232659844072866*JfL[39]+0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*JfL[34]+0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*JfL[27]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = -(0.34232659844072866*JfR[47])+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]+0.34232659844072866*JfR[39]-0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*JfR[34]+0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*JfR[27]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]+0.273861278752583*JfL[39]-0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*JfL[34]-0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*JfL[31]+0.41079191812887433*JfL[30]-0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]+0.3061862178478971*JfL[8]-0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0]; - JfR_quad = 0.273861278752583*JfR[47]-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]-0.273861278752583*JfR[39]+0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*JfR[34]-0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*JfR[31]-0.41079191812887433*JfR[30]+0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]-0.3061862178478971*JfR[8]+0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*JfR[2]-0.1767766952966368*JfR[1]+0.1767766952966368*JfR[0]; - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[11] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[2].bmag; - Jc_quad = gkdgs[2].Jc; - B3_quad = gkdgs[2].B3; - normcurlbhat_quad = gkdgs[2].normcurlbhat; - bhat_quad[0] = gkdgs[2].bhat.x[0]; - bhat_quad[1] = gkdgs[2].bhat.x[1]; - bhat_quad[2] = gkdgs[2].bhat.x[2]; - area_elem_quad = dgs[2].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*JfL[46]+0.3423265984407287*JfL[45]-0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]-0.19764235376052364*JfL[41]+0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22])-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*JfR[46]-0.3423265984407287*JfR[45]-0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]-0.19764235376052364*JfR[41]+0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22])+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[13] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*JfL[46]-0.27386127875258304*JfL[45]+0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]+0.15811388300841892*JfL[41]-0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]+0.3061862178478971*JfL[22]-0.3061862178478971*JfL[21]+0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*JfR[46]+0.27386127875258304*JfR[45]+0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]+0.15811388300841892*JfR[41]-0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]-0.3061862178478971*JfR[22]+0.3061862178478971*JfR[21]+0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]+0.1767766952966368*JfR[13]-0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30])-0.41079191812887433*JfL[29]+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]+0.2371708245126284*JfL[24]-0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]+0.41079191812887433*JfL[19]-0.41079191812887433*JfL[18]+0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.41079191812887433*JfL[11]+0.2371708245126284*JfL[10]-0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30])+0.41079191812887433*JfR[29]+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]+0.2371708245126284*JfR[24]-0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]-0.41079191812887433*JfR[19]+0.41079191812887433*JfR[18]+0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.41079191812887433*JfR[11]+0.2371708245126284*JfR[10]-0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[15] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*JfL[46]-0.3423265984407287*JfL[45]+0.19764235376052366*JfL[44]+0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]+0.19764235376052364*JfL[41]-0.19764235376052364*JfL[40]+0.34232659844072866*JfL[39]-0.34232659844072866*JfL[38]+0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]+0.19764235376052366*JfL[34]-0.19764235376052366*JfL[33]-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22])+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[16]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*JfR[46]+0.3423265984407287*JfR[45]+0.19764235376052366*JfR[44]-0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]+0.19764235376052364*JfR[41]-0.19764235376052364*JfR[40]-0.34232659844072866*JfR[39]+0.34232659844072866*JfR[38]+0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]+0.19764235376052366*JfR[34]-0.19764235376052366*JfR[33]-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22])-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.3061862178478971*JfR[16]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[16] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*JfL[46]+0.27386127875258304*JfL[45]-0.15811388300841892*JfL[44]-0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]-0.15811388300841892*JfL[41]+0.15811388300841892*JfL[40]-0.273861278752583*JfL[39]+0.273861278752583*JfL[38]-0.15811388300841892*JfL[37]+0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]-0.15811388300841894*JfL[34]+0.15811388300841894*JfL[33]+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30])+0.41079191812887433*JfL[29]-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]-0.2371708245126284*JfL[24]+0.2371708245126284*JfL[23]-0.3061862178478971*JfL[22]+0.3061862178478971*JfL[21]-0.1767766952966368*JfL[20]-0.41079191812887433*JfL[19]+0.41079191812887433*JfL[18]-0.2371708245126284*JfL[17]-0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.41079191812887433*JfL[11]-0.2371708245126284*JfL[10]+0.2371708245126284*JfL[9]-0.3061862178478971*JfL[8]+0.3061862178478971*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*(JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*JfR[46]-0.27386127875258304*JfR[45]-0.15811388300841892*JfR[44]+0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]-0.15811388300841892*JfR[41]+0.15811388300841892*JfR[40]+0.273861278752583*JfR[39]-0.273861278752583*JfR[38]-0.15811388300841892*JfR[37]+0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]-0.15811388300841894*JfR[34]+0.15811388300841894*JfR[33]+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30])-0.41079191812887433*JfR[29]-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]-0.2371708245126284*JfR[24]+0.2371708245126284*JfR[23]+0.3061862178478971*JfR[22]-0.3061862178478971*JfR[21]-0.1767766952966368*JfR[20]+0.41079191812887433*JfR[19]-0.41079191812887433*JfR[18]-0.2371708245126284*JfR[17]+0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]-0.1767766952966368*JfR[13]+0.1767766952966368*JfR[12]-0.41079191812887433*JfR[11]-0.2371708245126284*JfR[10]+0.2371708245126284*JfR[9]+0.3061862178478971*JfR[8]-0.3061862178478971*JfR[7]-0.1767766952966368*JfR[6]+0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]-0.1767766952966368*JfR[2]+0.1767766952966368*(JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[17] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - bmag_quad = gkdgs[3].bmag; - Jc_quad = gkdgs[3].Jc; - B3_quad = gkdgs[3].B3; - normcurlbhat_quad = gkdgs[3].normcurlbhat; - bhat_quad[0] = gkdgs[3].bhat.x[0]; - bhat_quad[1] = gkdgs[3].bhat.x[1]; - bhat_quad[2] = gkdgs[3].bhat.x[2]; - area_elem_quad = dgs[3].area_elem; - - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]-0.41079191812887433*JfL[26]+0.41079191812887433*JfL[25]+0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]+0.41079191812887433*JfR[26]-0.41079191812887433*JfR[25]+0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[18] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.34232659844072866*JfL[47]+0.3423265984407287*(JfL[46]+JfL[45])+0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]+0.34232659844072866*JfL[42]+0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]+0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]-0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[16]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.34232659844072866*JfR[47])-0.3423265984407287*(JfR[46]+JfR[45])+0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]-0.34232659844072866*JfR[42]+0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]+0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]+0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.3061862178478971*JfR[16]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[19] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.273861278752583*JfL[47])-0.27386127875258304*(JfL[46]+JfL[45])-0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]-0.273861278752583*JfL[42]-0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*JfL[37]-0.15811388300841892*JfL[36]+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]-0.3061862178478971*JfL[27]+0.41079191812887433*JfL[26]-0.41079191812887433*JfL[25]-0.2371708245126284*(JfL[24]+JfL[23])-0.3061862178478971*(JfL[22]+JfL[21])-0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]-0.3061862178478971*JfL[14]-0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.273861278752583*JfR[47]+0.27386127875258304*(JfR[46]+JfR[45])-0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]+0.273861278752583*JfR[42]-0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*JfR[37]-0.15811388300841892*JfR[36]-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]+0.3061862178478971*JfR[27]-0.41079191812887433*JfR[26]+0.41079191812887433*JfR[25]-0.2371708245126284*(JfR[24]+JfR[23])+0.3061862178478971*(JfR[22]+JfR[21])-0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]+0.3061862178478971*JfR[14]-0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*JfR[6]-0.1767766952966368*JfR[5]+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[20] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]-0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])-0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]-0.41079191812887433*(JfL[26]+JfL[25])-0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]-0.41079191812887433*(JfL[19]+JfL[18])-0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]-0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])-0.41079191812887433*JfL[11]-0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])-0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]+0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])-0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]+0.41079191812887433*(JfR[26]+JfR[25])-0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]+0.41079191812887433*(JfR[19]+JfR[18])-0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]-0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])+0.41079191812887433*JfR[11]-0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[21] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = -(0.34232659844072866*JfL[47])-0.3423265984407287*(JfL[46]+JfL[45])-0.19764235376052366*JfL[44]-0.3423265984407287*JfL[43]-0.34232659844072866*JfL[42]-0.19764235376052364*(JfL[41]+JfL[40])-0.34232659844072866*(JfL[39]+JfL[38])-0.19764235376052364*JfL[37]-0.19764235376052366*JfL[36]-0.3423265984407287*JfL[35]-0.19764235376052366*(JfL[34]+JfL[33])-0.19764235376052364*JfL[32]+0.3061862178478971*(JfL[27]+JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.3061862178478971*(JfL[16]+JfL[14])+0.1767766952966368*(JfL[13]+JfL[12])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = 0.34232659844072866*JfR[47]+0.3423265984407287*(JfR[46]+JfR[45])-0.19764235376052366*JfR[44]+0.3423265984407287*JfR[43]+0.34232659844072866*JfR[42]-0.19764235376052364*(JfR[41]+JfR[40])+0.34232659844072866*(JfR[39]+JfR[38])-0.19764235376052364*JfR[37]-0.19764235376052366*JfR[36]+0.3423265984407287*JfR[35]-0.19764235376052366*(JfR[34]+JfR[33])-0.19764235376052364*JfR[32]-0.3061862178478971*(JfR[27]+JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.3061862178478971*(JfR[16]+JfR[14])+0.1767766952966368*(JfR[13]+JfR[12])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[22] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); - alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); - alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); - alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; - alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; - alpha_quad = alpha_quad * area_elem_quad/Jc_quad; - - cfl = fmax(fabs(alpha_quad), fabs(cfl)); - JfL_quad = 0.273861278752583*JfL[47]+0.27386127875258304*(JfL[46]+JfL[45])+0.15811388300841892*JfL[44]+0.27386127875258304*JfL[43]+0.273861278752583*JfL[42]+0.15811388300841892*(JfL[41]+JfL[40])+0.273861278752583*(JfL[39]+JfL[38])+0.15811388300841892*(JfL[37]+JfL[36])+0.27386127875258304*JfL[35]+0.15811388300841894*(JfL[34]+JfL[33])+0.15811388300841892*JfL[32]+0.41079191812887433*(JfL[31]+JfL[30]+JfL[29])+0.2371708245126284*JfL[28]+0.3061862178478971*JfL[27]+0.41079191812887433*(JfL[26]+JfL[25])+0.2371708245126284*(JfL[24]+JfL[23])+0.3061862178478971*(JfL[22]+JfL[21])+0.1767766952966368*JfL[20]+0.41079191812887433*(JfL[19]+JfL[18])+0.2371708245126284*JfL[17]+0.3061862178478971*JfL[16]+0.2371708245126284*JfL[15]+0.3061862178478971*JfL[14]+0.1767766952966368*(JfL[13]+JfL[12])+0.41079191812887433*JfL[11]+0.2371708245126284*(JfL[10]+JfL[9])+0.3061862178478971*(JfL[8]+JfL[7])+0.1767766952966368*(JfL[6]+JfL[5])+0.2371708245126284*JfL[4]+0.3061862178478971*JfL[3]+0.1767766952966368*(JfL[2]+JfL[1]+JfL[0]); - JfR_quad = -(0.273861278752583*JfR[47])-0.27386127875258304*(JfR[46]+JfR[45])+0.15811388300841892*JfR[44]-0.27386127875258304*JfR[43]-0.273861278752583*JfR[42]+0.15811388300841892*(JfR[41]+JfR[40])-0.273861278752583*(JfR[39]+JfR[38])+0.15811388300841892*(JfR[37]+JfR[36])-0.27386127875258304*JfR[35]+0.15811388300841894*(JfR[34]+JfR[33])+0.15811388300841892*JfR[32]-0.41079191812887433*(JfR[31]+JfR[30]+JfR[29])+0.2371708245126284*JfR[28]-0.3061862178478971*JfR[27]-0.41079191812887433*(JfR[26]+JfR[25])+0.2371708245126284*(JfR[24]+JfR[23])-0.3061862178478971*(JfR[22]+JfR[21])+0.1767766952966368*JfR[20]-0.41079191812887433*(JfR[19]+JfR[18])+0.2371708245126284*JfR[17]-0.3061862178478971*JfR[16]+0.2371708245126284*JfR[15]-0.3061862178478971*JfR[14]+0.1767766952966368*(JfR[13]+JfR[12])-0.41079191812887433*JfR[11]+0.2371708245126284*(JfR[10]+JfR[9])-0.3061862178478971*(JfR[8]+JfR[7])+0.1767766952966368*(JfR[6]+JfR[5])+0.2371708245126284*JfR[4]-0.3061862178478971*JfR[3]+0.1767766952966368*(JfR[2]+JfR[1]+JfR[0]); - Jfavg_quad = (JfL_quad + JfR_quad)/2.0; - Jfjump_quad = (JfR_quad - JfL_quad)/2.0; - flux_surf_nodal[23] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad; - - - return cfl*1.5*rdz2; - -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c index ec0aaed538..20cb1de5fb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1.c @@ -35,6 +35,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1( double JRatfR[3] = {0.}; + double apar_surf[3] = {0.}; + apar_surf[0] = 1.7320508075688772*apar[1]+apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c index 4ec2aa04fb..79ba15b224 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1.c @@ -36,6 +36,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1( double JRatfR[6] = {0.}; + double apar_surf[6] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c index b72fa0bc56..db13a0392d 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -98,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -110,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,6 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -204,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -216,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,6 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c index b8926ad492..ad91da2c74 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,6 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,6 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,6 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -137,6 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,6 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -161,6 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,6 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,6 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -207,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,6 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -231,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -243,6 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,6 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,6 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,6 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -301,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -313,6 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -325,6 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,6 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,6 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,6 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,6 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -395,6 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -407,6 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c index 25790c6de8..91bd8d0353 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -98,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -110,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,6 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -204,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -216,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,6 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c index 0cd555a507..31d234d6e7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -103,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,6 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -127,6 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,6 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -151,6 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,6 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,6 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -221,6 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,6 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -245,6 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,6 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,6 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -315,6 +353,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -327,6 +367,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -349,6 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,6 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,6 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,6 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,6 +447,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -409,6 +461,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c index 126b740838..6b35dbdfd8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,6 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,6 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,6 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -137,6 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,6 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -161,6 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,6 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,6 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -207,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,6 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -231,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -243,6 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,6 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,6 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,6 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -301,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -313,6 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -325,6 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,6 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,6 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,6 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,6 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -395,6 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -407,6 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c index 013f2db119..1ae0a018bf 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1.c @@ -35,6 +35,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1( double JRatfL[3] = {0.}; + double apar_surf[3] = {0.}; + apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c index 4beb85d6e5..88c7ba441c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1.c @@ -36,6 +36,9 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1( double JRatfL[6] = {0.}; + double apar_surf[6] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c index 7173fab4de..3ffcbb20e6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -98,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -110,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,6 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -204,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -216,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,6 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c index 68e15b6e58..71438a6185 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,6 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,6 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,6 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -137,6 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,6 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -161,6 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,6 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,6 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -207,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,6 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -231,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -243,6 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,6 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,6 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,6 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -301,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -313,6 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -325,6 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,6 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,6 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,6 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,6 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -395,6 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -407,6 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c index 9e5e1b48fa..ab2bc4b14f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -86,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -98,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -110,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -122,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -134,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -146,6 +160,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -168,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -180,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -192,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -204,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -216,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -228,6 +254,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c index 95686206c1..24e6d694e6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -103,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -115,6 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -127,6 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -139,6 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -151,6 +165,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -163,6 +179,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -185,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -197,6 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -209,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -221,6 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -233,6 +259,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -245,6 +273,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -267,6 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -279,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -291,6 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -303,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -315,6 +353,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -327,6 +367,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -349,6 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -361,6 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -373,6 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -385,6 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -397,6 +447,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -409,6 +461,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c index 6c1090ddc4..81d7446ca0 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -101,6 +107,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,6 +121,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,6 +135,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -137,6 +149,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -149,6 +163,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -161,6 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,6 +201,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,6 +215,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -207,6 +229,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,6 +243,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -231,6 +257,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -243,6 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,6 +295,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,6 +309,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,6 +323,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -301,6 +337,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -313,6 +351,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -325,6 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,6 +389,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,6 +403,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,6 +417,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,6 +431,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -395,6 +445,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -407,6 +459,8 @@ GKYL_CU_DH double gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c index 072bab42e4..226d1e5196 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[2])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c index beef88b515..72bcbe3e03 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[3]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c index 75019f7489..3a1f1bffc8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1( hamil[5] = (1.7320508075688772*bmag[3]+bmag[1])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c index c4e86d67ff..57678d3630 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c index 21d73e1f3f..7a047e8a82 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(1.7320508075688772*bmag[5]+bmag[1]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c index 720e058d01..22eba49ed6 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_se JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[22]-3.0*jacobgeo_rat_surfR[0]*JfR[21])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])+15.0*jacobgeo_rat_surfR[0]*JfR[22]-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[2]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c index 99790bdf4b..91932a28d2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_se JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[40]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[41])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[41])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[40]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[36])-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[1]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[2]; + apar_surf[2] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[6]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c index 7e96b4cd7c..31e4b560b7 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_se JRatfR[10] = 0.03333333333333333*(-(25.980762113533157*jacobgeo_rat_surfR[1]*JfR[23])+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[21]-3.0*jacobgeo_rat_surfR[0]*JfR[22])+15.0*jacobgeo_rat_surfR[0]*JfR[19]); JRatfR[11] = 0.03333333333333333*(8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfR[1]*JfR[19]-3.0*jacobgeo_rat_surfR[0]*JfR[23])-25.980762113533157*jacobgeo_rat_surfR[1]*JfR[22]+15.0*jacobgeo_rat_surfR[0]*JfR[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[1]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c index 8a5feaa8de..b40227bce2 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_se JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[41]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[45]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[44]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[42]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[42]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[41]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[44])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[45]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[2]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[4]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[3]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[5]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c index 8266e5b4b4..f6fcf85856 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_se JRatfR[22] = 0.016666666666666666*(-(36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[47]+jacobgeo_rat_surfR[2]*JfR[42]))+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[44]+jacobgeo_rat_surfR[2]*JfR[36])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[46]+jacobgeo_rat_surfR[3]*JfR[45]))+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[41]+jacobgeo_rat_surfR[3]*JfR[40])); JRatfR[23] = 0.016666666666666666*(8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfR[1]*JfR[41]+jacobgeo_rat_surfR[2]*JfR[40])-4.242640687119286*(jacobgeo_rat_surfR[0]*JfR[47]+jacobgeo_rat_surfR[3]*JfR[42]))-36.742346141747674*(jacobgeo_rat_surfR[1]*JfR[46]+jacobgeo_rat_surfR[2]*JfR[45])+21.213203435596427*(jacobgeo_rat_surfR[0]*JfR[44]+jacobgeo_rat_surfR[3]*JfR[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 2.4494897427831783*apar[3]+1.4142135623730951*apar[0]; + apar_surf[1] = 2.4494897427831783*apar[5]+1.4142135623730951*apar[1]; + apar_surf[2] = 2.4494897427831783*apar[6]+1.4142135623730951*apar[2]; + apar_surf[5] = 2.4494897427831783*apar[7]+1.4142135623730951*apar[4]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c index 1b3a1c3259..1c0639d806 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1( JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[22]+3.0*jacobgeo_rat_surfL[0]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+15.0*jacobgeo_rat_surfL[0]*JfL[22]+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c index 94fe4931bc..2eb9560faa 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[40])+8.660254037844387*(2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[36])+4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[44]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[41])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[40])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[41]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[36])+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[44])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c index 8f1a28700e..8383619c80 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1.c @@ -51,6 +51,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1( JRatfL[10] = 0.03333333333333333*(25.980762113533157*jacobgeo_rat_surfL[1]*JfL[23]+8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[22]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[21])+15.0*jacobgeo_rat_surfL[0]*JfL[19]); JRatfL[11] = 0.03333333333333333*(8.660254037844387*(3.0*jacobgeo_rat_surfL[0]*JfL[23]+1.7320508075688772*jacobgeo_rat_surfL[1]*JfL[19])+25.980762113533157*jacobgeo_rat_surfL[1]*JfL[22]+15.0*jacobgeo_rat_surfL[0]*JfL[21]); + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c index 74969cd7a1..882993d129 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1.c @@ -68,6 +68,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[41])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[44])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[45]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[42]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[41])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[42]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[44])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[45]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c index ab2dea1556..0d6b99d1e5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1.c @@ -66,6 +66,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1( JRatfL[22] = 0.016666666666666666*(36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[47]+jacobgeo_rat_surfL[2]*JfL[42])+8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[46]+jacobgeo_rat_surfL[3]*JfL[45])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[44]+jacobgeo_rat_surfL[2]*JfL[36]))+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[41]+jacobgeo_rat_surfL[3]*JfL[40])); JRatfL[23] = 0.016666666666666666*(8.660254037844387*(4.242640687119286*(jacobgeo_rat_surfL[0]*JfL[47]+jacobgeo_rat_surfL[3]*JfL[42])+2.4494897427831783*(jacobgeo_rat_surfL[1]*JfL[41]+jacobgeo_rat_surfL[2]*JfL[40]))+36.742346141747674*(jacobgeo_rat_surfL[1]*JfL[46]+jacobgeo_rat_surfL[2]*JfL[45])+21.213203435596427*(jacobgeo_rat_surfL[0]*JfL[44]+jacobgeo_rat_surfL[3]*JfL[36])); + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c index d87bbae7cc..6f0c89ba2c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1.c @@ -50,14 +50,19 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -67,6 +72,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -80,8 +86,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -91,6 +101,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -104,8 +115,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -115,6 +130,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -128,8 +144,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -139,6 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c index 2a02044eb8..1d35fe4d02 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1.c @@ -55,14 +55,19 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -72,6 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[0] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -85,8 +91,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -96,6 +106,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[2] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -109,8 +120,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -120,6 +135,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[4] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -133,8 +149,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -144,6 +164,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[6] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -157,8 +178,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -168,6 +193,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[8] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -181,8 +207,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -192,6 +222,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[10] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -205,8 +236,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -216,6 +251,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[12] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -229,8 +265,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -240,6 +280,7 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( flux_surf_nodal[14] = alpha_quad*Jfavg_quad - fabs(alpha_quad)*Jfjump_quad ; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c index 74c598c8b5..821a8bfe8a 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_2x2v_ser_p1( hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c index 6311c4e78b..0036aa5a19 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c index eefb8d3120..df86e95bed 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_2x2v_ser_p1( hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c index 8514d1f80d..44fab0ed28 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c index 0c3fcdce96..4d4a8e8044 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_no_by_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c deleted file mode 100644 index 341b6e2c2c..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_surfconf_none( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - return 0.0; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index f15895d3c4..055c7bee14 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -43,15 +43,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(1.1180339887498951*JfL[5])+1.118033988749895*JfL[4]-0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]-0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; @@ -65,9 +71,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); + alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (1.1180339887498951*JfL[5]+1.118033988749895*JfL[4]+0.8660254037844386*JfL[3]+0.8660254037844386*JfL[2]+0.5*JfL[1]+0.5*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index 3039e2e84a..922fdb0552 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -45,15 +45,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]-0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -64,6 +70,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])+0.7905694150420948*JfL[10]-0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]-0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]-0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -77,9 +85,14 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.7905694150420947*JfL[11])-0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]-0.6123724356957944*JfL[7]-0.6123724356957944*JfL[6]-0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]-0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; @@ -90,6 +103,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); + alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.7905694150420947*JfL[11]+0.7905694150420948*JfL[10]+0.7905694150420948*JfL[9]+0.7905694150420947*JfL[8]+0.6123724356957944*JfL[7]+0.6123724356957944*JfL[6]+0.3535533905932737*JfL[5]+0.6123724356957944*JfL[4]+0.3535533905932737*JfL[3]+0.6123724356957944*JfL[2]+0.3535533905932737*JfL[1]+0.3535533905932737*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 1b6b303679..bcde53a400 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -50,16 +50,25 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -71,6 +80,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -84,10 +98,18 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -99,6 +121,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]-0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]-0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]-0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -112,10 +139,18 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]+0.25*JfL[12]-0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]+0.25*JfL[9]-0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -127,6 +162,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]-0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]-0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]-0.25*JfL[12]-0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]-0.25*JfL[9]+0.25*JfL[8]-0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]-0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]-0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -140,10 +180,18 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.5590169943749476*JfL[23])-0.5590169943749475*JfL[22]-0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]-0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]-0.4330127018922193*JfL[15]-0.4330127018922193*JfL[14]-0.4330127018922193*JfL[13]-0.25*JfL[12]+0.4330127018922193*JfL[11]-0.4330127018922193*JfL[10]-0.25*JfL[9]-0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]-0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; @@ -155,6 +203,11 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[0]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.5590169943749476*JfL[23]+0.5590169943749475*JfL[22]+0.5590169943749475*JfL[21]+0.5590169943749475*JfL[20]+0.5590169943749476*JfL[19]+0.5590169943749476*JfL[18]+0.5590169943749476*JfL[17]+0.5590169943749475*JfL[16]+0.4330127018922193*JfL[15]+0.4330127018922193*JfL[14]+0.4330127018922193*JfL[13]+0.25*JfL[12]+0.4330127018922193*JfL[11]+0.4330127018922193*JfL[10]+0.25*JfL[9]+0.25*JfL[8]+0.4330127018922193*JfL[7]+0.4330127018922193*JfL[6]+0.25*JfL[5]+0.25*JfL[4]+0.4330127018922193*JfL[3]+0.25*JfL[2]+0.25*JfL[1]+0.25*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index f328a124fe..388b4a2609 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -55,17 +55,28 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( double JfR_quad = 0.0; double Jfavg_quad = 0.0; double Jfjump_quad = 0.0; + double bioverJB_quad[3] = {0.0}; bmag_quad = gkdgv[0].bmag; B3_quad = gkdgv[0].B3; dualcurlbhat_quad[0] = gkdgv[0].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[0].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[0].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[0].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[0].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[0].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -78,6 +89,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -91,11 +109,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[1].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[1].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[1].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[1].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[1].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[1].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -108,6 +136,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -121,11 +156,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[2].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[2].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[2].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[2].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[2].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[2].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -138,6 +183,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -151,11 +203,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[3].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[3].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[3].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[3].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[3].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[3].bioverJB.x[2]; alpha_quad = -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -168,6 +230,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]-0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]-0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]-0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -181,11 +250,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[4].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[4].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[4].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[4].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[4].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[4].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -198,6 +277,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -211,11 +297,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[5].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[5].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[5].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[5].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[5].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[5].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -228,6 +324,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]-0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]-0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]-0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]-0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]-0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]-0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -241,11 +344,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[6].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[6].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[6].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[6].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[6].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[6].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -258,6 +371,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]-0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]-0.3952847075210473*JfL[39]-0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]-0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]-0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]-0.3061862178478971*JfL[19]-0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]-0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]-0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]-0.1767766952966368*JfL[8]-0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]-0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -271,11 +391,21 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( dualcurlbhat_quad[0] = gkdgv[7].dualcurlbhat.x[0]; dualcurlbhat_quad[1] = gkdgv[7].dualcurlbhat.x[1]; dualcurlbhat_quad[2] = gkdgv[7].dualcurlbhat.x[2]; + bioverJB_quad[0] = gkdgv[7].bioverJB.x[0]; + bioverJB_quad[1] = gkdgv[7].bioverJB.x[1]; + bioverJB_quad[2] = gkdgv[7].bioverJB.x[2]; alpha_quad = -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (-(0.3952847075210473*JfL[47])-0.39528470752104733*JfL[46]-0.39528470752104733*JfL[45]-0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]-0.3952847075210473*JfL[42]-0.3952847075210473*JfL[41]-0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]-0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]-0.3061862178478971*JfL[31]-0.3061862178478971*JfL[30]-0.3061862178478971*JfL[29]-0.3061862178478971*JfL[28]-0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]-0.3061862178478971*JfL[25]-0.3061862178478971*JfL[24]-0.3061862178478971*JfL[23]-0.1767766952966368*JfL[22]-0.1767766952966368*JfL[21]-0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]-0.3061862178478971*JfL[15]-0.1767766952966368*JfL[14]-0.1767766952966368*JfL[13]-0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]-0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; @@ -288,6 +418,13 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; JfL_quad = (0.3952847075210473*JfL[47]+0.39528470752104733*JfL[46]+0.39528470752104733*JfL[45]+0.39528470752104733*JfL[44]+0.39528470752104733*JfL[43]+0.3952847075210473*JfL[42]+0.3952847075210473*JfL[41]+0.3952847075210473*JfL[40]+0.3952847075210473*JfL[39]+0.3952847075210473*JfL[38]+0.3952847075210473*JfL[37]+0.39528470752104733*JfL[36]+0.39528470752104733*JfL[35]+0.39528470752104733*JfL[34]+0.39528470752104733*JfL[33]+0.3952847075210473*JfL[32]+0.3061862178478971*JfL[31]+0.3061862178478971*JfL[30]+0.3061862178478971*JfL[29]+0.3061862178478971*JfL[28]+0.1767766952966368*JfL[27]+0.3061862178478971*JfL[26]+0.3061862178478971*JfL[25]+0.3061862178478971*JfL[24]+0.3061862178478971*JfL[23]+0.1767766952966368*JfL[22]+0.1767766952966368*JfL[21]+0.1767766952966368*JfL[20]+0.3061862178478971*JfL[19]+0.3061862178478971*JfL[18]+0.3061862178478971*JfL[17]+0.1767766952966368*JfL[16]+0.3061862178478971*JfL[15]+0.1767766952966368*JfL[14]+0.1767766952966368*JfL[13]+0.1767766952966368*JfL[12]+0.3061862178478971*JfL[11]+0.3061862178478971*JfL[10]+0.3061862178478971*JfL[9]+0.1767766952966368*JfL[8]+0.1767766952966368*JfL[7]+0.1767766952966368*JfL[6]+0.1767766952966368*JfL[5]+0.3061862178478971*JfL[4]+0.1767766952966368*JfL[3]+0.1767766952966368*JfL[2]+0.1767766952966368*JfL[1]+0.1767766952966368*JfL[0])/vmap_prime_l[0]; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c deleted file mode 100644 index 8be40ca284..0000000000 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -GKYL_CU_DH double gk_collisionless_flux_surfvpar_none( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, - const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf) -{ - return 0.0; -} diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c index 5d6b2632d6..3b6d30ba92 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x1v_ser_p1.c @@ -33,6 +33,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x1v_ser_p1( hamil[1] = 0.5*vmapSq[1]*m_; hamil[2] = 0.5*vmapSq[2]*m_; + double apar_surf[3] = {0.}; + apar_surf[0] = apar[0]-1.7320508075688772*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c index 61705ec812..a8cca34080 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_1x2v_ser_p1.c @@ -34,6 +34,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_1x2v_ser_p1( hamil[2] = (bmag[0]-1.7320508075688772*bmag[1])*vmap[3]; hamil[4] = 0.7071067811865475*vmapSq[2]*m_; + double apar_surf[6] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c index ee444d7199..6a9c86893e 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( hamil[5] = (bmag[2]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,6 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -84,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -96,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -190,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -202,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_2x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdz2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad -= 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdz2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c index 9586cf6447..61ea6bdc19 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfx_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( hamil[9] = vmap[3]*(bmag[3]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[1]; + apar_surf[1] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[5]; + apar_surf[5] = 1.4142135623730951*apar[6]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[0]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,6 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -87,6 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,6 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,6 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -135,6 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,6 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,6 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -217,6 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,6 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,6 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -275,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -287,6 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -299,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[1]-0.4330127018922193*hamil[5])*rdy2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,6 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,6 +377,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,6 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((-(0.4330127018922193*hamil[9])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,6 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -369,6 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -381,6 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfx_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[1]*((0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2) - bhat_quad[2]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdy2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdy2) * bhat_quad[2] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[1]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c index ba4fbb65a3..edb4ae6f4c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_2x2v_ser_p1.c @@ -37,6 +37,10 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( hamil[5] = (bmag[1]-1.7320508075688772*bmag[3])*vmap[3]; hamil[8] = vmapSq[2]*m_; + double apar_surf[12] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[3]; + double *flux_surf_nodal = &flux_surf[12]; double cfl = 0.0; double bmag_quad = 0.0; @@ -72,6 +76,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -84,6 +90,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -96,6 +104,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -108,6 +118,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -120,6 +132,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -132,6 +146,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[0]-0.3535533905932737*apar_surf[1]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -154,6 +170,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -166,6 +184,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -178,6 +198,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -190,6 +212,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -202,6 +226,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -214,6 +240,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_2x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad -= 1/(q_*bmag_quad*area_elem_quad) * bhat_quad[1]*((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2); + alpha_quad += 1/m_ * (0.3535533905932737*apar_surf[1]+0.3535533905932737*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (0.6123724356957944*apar_surf[1]*rdx2) * bhat_quad[1] * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c index 33da4fed8c..c51261dfc5 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfy_3x2v_ser_p1.c @@ -42,6 +42,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( hamil[12] = vmap[3]*bmag[5]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[2]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[4]; + apar_surf[2] = 1.4142135623730951*apar[3]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[5]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -77,6 +83,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -89,6 +97,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -101,6 +111,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -113,6 +125,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -125,6 +139,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -137,6 +153,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -159,6 +177,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -171,6 +191,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -183,6 +205,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -195,6 +219,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -207,6 +233,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -219,6 +247,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -241,6 +271,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -253,6 +285,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -265,6 +299,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -277,6 +313,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -289,6 +327,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -301,6 +341,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -323,6 +365,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -335,6 +379,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -347,6 +393,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -359,6 +407,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -371,6 +421,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -383,6 +435,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfy_3x2v_ser_p1( alpha_quad = 0.0; alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[2]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2) - bhat_quad[0]*((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdz2) * bhat_quad[0] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[2]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c index 002ed373e7..cd0550b00f 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfz_3x2v_ser_p1.c @@ -40,6 +40,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( hamil[8] = vmap[3]*(bmag[1]-1.7320508075688772*bmag[5]); hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double apar_surf[24] = {0.}; + apar_surf[0] = 1.4142135623730951*apar[0]-2.4494897427831783*apar[3]; + apar_surf[1] = 1.4142135623730951*apar[1]-2.4494897427831783*apar[5]; + apar_surf[2] = 1.4142135623730951*apar[2]-2.4494897427831783*apar[6]; + apar_surf[5] = 1.4142135623730951*apar[4]-2.4494897427831783*apar[7]; + double *flux_surf_nodal = &flux_surf[48]; double cfl = 0.0; double bmag_quad = 0.0; @@ -75,6 +81,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -87,6 +95,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -99,6 +109,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -111,6 +123,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -123,6 +137,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -135,6 +151,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]-0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -157,6 +175,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -169,6 +189,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -181,6 +203,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -193,6 +217,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -205,6 +231,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -217,6 +245,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[2]-0.4330127018922193*hamil[5])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])+0.25*apar_surf[2]-0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[2]-0.4330127018922193*apar_surf[5])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -239,6 +269,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -251,6 +283,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -263,6 +297,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -275,6 +311,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -287,6 +325,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -299,6 +339,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (-(0.25*apar_surf[5])-0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[1]-0.4330127018922193*apar_surf[5])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -321,6 +363,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -333,6 +377,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -345,6 +391,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((-(0.4330127018922193*hamil[8])+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -357,6 +405,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[0]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[0]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[0]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[0]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -369,6 +419,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[1]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[1]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[1]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[1]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); @@ -381,6 +433,8 @@ GKYL_CU_DH double gk_collisionless_flux_surfz_3x2v_ser_p1( alpha_quad = (dHdvpar_quad[2]*B3_quad/(m_*bmag_quad)); alpha_quad += mvparsq_quad[2]*normcurlbhat_quad/(bmag_quad*q_); alpha_quad += 1/(q_*bmag_quad*area_elem_quad) * (bhat_quad[0]*((0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdy2) - bhat_quad[1]*((0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)); + alpha_quad += 1/m_ * (0.25*apar_surf[5]+0.25*apar_surf[2]+0.25*apar_surf[1]+0.25*apar_surf[0]) * normcurlbhat_quad/bmag_quad * dHdvpar_quad[2]; + alpha_quad += 1/(m_*bmag_quad*area_elem_quad) * (((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[1])*rdx2) * bhat_quad[1] - ((0.4330127018922193*apar_surf[5]+0.4330127018922193*apar_surf[2])*rdy2) * bhat_quad[0]) * dHdvpar_quad[2]; alpha_quad = alpha_quad * area_elem_quad/Jc_quad; cfl = fmax(fabs(alpha_quad), fabs(cfl)); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h index 7f6ddefc61..52dc9eb953 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h +++ b/gyrokinetic/ker/gk_collisionless_flux/gkyl_gk_collisionless_flux_kernels.h @@ -391,781 +391,13 @@ GKYL_CU_DH double gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1( const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x1v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_1x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_2x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_star_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfx_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfy_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_multib_boundary_edge_surfz_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, - const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); -GKYL_CU_DH double gk_collisionless_flux_em_star_no_by_surfvpar_3x2v_ser_p1( - const double *w, const double *dxv, - const double *vmap_prime_l, const double *vmap_prime_r, - const double *vmap, const double *vmapSq, const double q_, const double m_, - const struct gkyl_dg_vol_geom *dgv, const struct gkyl_gk_dg_vol_geom *gkdgv, - const double *bmag, const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); - GKYL_CU_DH double gk_collisionless_flux_surfconf_none( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, const double *bmag, const double *jacobgeo_rat_surfL, const double *jacobgeo_rat_surfR, - const double *phi, const double *apar, const double *apardot, const double *JfL, const double *JfR, - double* GKYL_RESTRICT flux_surf); + const double *phi, const double *apar, const double *apardot, + const double *JfL, const double *JfR, double* GKYL_RESTRICT flux_surf); GKYL_CU_DH double gk_collisionless_flux_surfvpar_none( const double *w, const double *dxv, diff --git a/gyrokinetic/zero/dg_gyrokinetic.c b/gyrokinetic/zero/dg_gyrokinetic.c index 141e9357db..6617460afa 100644 --- a/gyrokinetic/zero/dg_gyrokinetic.c +++ b/gyrokinetic/zero/dg_gyrokinetic.c @@ -118,7 +118,7 @@ gkyl_dg_gyrokinetic_new(const struct gkyl_basis *cbasis, const struct gkyl_basis } // Setup electromagnetic terms if needed. - bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); + bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM); gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_none; gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; if (is_em) { diff --git a/gyrokinetic/zero/dg_gyrokinetic_cu.cu b/gyrokinetic/zero/dg_gyrokinetic_cu.cu index 7da89ba3a0..bd9de9d914 100644 --- a/gyrokinetic/zero/dg_gyrokinetic_cu.cu +++ b/gyrokinetic/zero/dg_gyrokinetic_cu.cu @@ -95,7 +95,7 @@ dg_gyrokinetic_set_cu_dev_ptrs(struct dg_gyrokinetic *gyrokinetic, enum gkyl_bas } // Setup electromagnetic terms if needed. - bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM) || (collless_type == GKYL_GK_COLLISIONLESS_EM_BPERP); + bool is_em = (collless_type == GKYL_GK_COLLISIONLESS_EM); gyrokinetic->vol_add_apar_kernel = dg_gyrokinetic_add_apar_vol_none; gyrokinetic->vol_add_apardot_kernel = dg_gyrokinetic_add_apardot_vol_none; if (is_em) { diff --git a/gyrokinetic/zero/gk_collisionless_flux.c b/gyrokinetic/zero/gk_collisionless_flux.c index af46dd313c..385ae7bda0 100644 --- a/gyrokinetic/zero/gk_collisionless_flux.c +++ b/gyrokinetic/zero/gk_collisionless_flux.c @@ -43,29 +43,48 @@ gkyl_gk_collisionless_flux_new(const struct gkyl_rect_grid *phase_grid, up->gk_dg_geom = gkyl_gk_dg_geom_acquire(gk_dg_geom); up->vel_map = gkyl_velocity_map_acquire(vel_map); + // Set none kernels by default + for (int d=0; dflux_surf[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_lo[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_up[d] = gk_collisionless_flux_surfconf_none; + } + up->flux_surfvpar[0] = gk_collisionless_flux_surfvpar_none; + // Choose appropriate kernels. - int em = ((type == GKYL_GK_COLLISIONLESS_EM) || (type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? 1 : 0; - em = complete_em ? 2 : em; // If complete_em is true, use EM kernels without Apardot contribution. if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); - } else { // The Apar term is included in the kernels. If we are ES, Apar=0. + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + } else { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); + } + + // If EM, we split the flux contribution between two updaters. + if (type == GKYL_GK_COLLISIONLESS_EM) { + if (complete_em) { + // To complete RHS star. + for (int d=0; dflux_surf[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_lo[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_up[d] = gk_collisionless_flux_surfconf_none; + } + } else { + // To compute RHS star. + up->flux_surfvpar[0] = gk_collisionless_flux_surfvpar_none; + } } up->flags = 0; diff --git a/gyrokinetic/zero/gk_collisionless_flux_cu.cu b/gyrokinetic/zero/gk_collisionless_flux_cu.cu index e21e34ee05..648aa93999 100644 --- a/gyrokinetic/zero/gk_collisionless_flux_cu.cu +++ b/gyrokinetic/zero/gk_collisionless_flux_cu.cu @@ -209,28 +209,49 @@ gk_collisionless_flux_set_cu_dev_ptrs(struct gkyl_gk_collisionless_flux *up, bool no_by, bool complete_em, const enum gkyl_gyrokinetic_bc_type *bctype_conf) { + + // Set none kernels by default + for (int d=0; dflux_surf[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_lo[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_up[d] = gk_collisionless_flux_surfconf_none; + } + up->flux_surfvpar[0] = gk_collisionless_flux_surfvpar_none; + // Choose appropriate kernels. - em = complete_em ? 2 : em; // If complete_em is true, use EM kernels without Apardot contribution. if (no_by) { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_no_by_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(em, cdim, vdim, poly_order); - } else { // The Apar term is included in the kernels. If we are ES, Apar=0. + up->flux_surfvpar[0] = choose_gk_collisionless_flux_no_by_surf_vpar_kern(cdim, vdim, poly_order); + } else { for (int d=0; dflux_surf kernel doesn't matter as long as it's not SKIP. - up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); - up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, GKYL_BC_GK_SPECIES_ABSORB); + up->flux_surf_edge_lo[d] = choose_gk_collisionless_flux_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[d]); - up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(em, d, cdim, vdim, + up->flux_surf_edge_up[d] = choose_gk_collisionless_flux_edge_surf_conf_kern(d, cdim, vdim, poly_order, bctype_conf[GKYL_MAX_CDIM+d]); } - up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(em, cdim, vdim, poly_order); + up->flux_surfvpar[0] = choose_gk_collisionless_flux_surf_vpar_kern(cdim, vdim, poly_order); + } + + // If EM, we split the flux contribution between two updaters. + if (em) { + if (complete_em) { + // To complete RHS star. + for (int d=0; dflux_surf[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_lo[d] = gk_collisionless_flux_surfconf_none; + up->flux_surf_edge_up[d] = gk_collisionless_flux_surfconf_none; + } + } else { + // To compute RHS star. + up->flux_surfvpar[0] = gk_collisionless_flux_surfvpar_none; + } } } @@ -256,7 +277,7 @@ gkyl_gk_collisionless_flux_cu_dev_new(const struct gkyl_rect_grid *phase_grid, up->charge = charge; up->mass = mass; - int em = ((type == GKYL_GK_COLLISIONLESS_EM) || (type == GKYL_GK_COLLISIONLESS_EM_BPERP)) ? 1 : 0; + int em = (type == GKYL_GK_COLLISIONLESS_EM) ? 1 : 0; // Acquire pointers to on_dev objects so memcpy below copies those too. struct gk_geometry *geom_ho = gkyl_gk_geometry_acquire(gk_geom); diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index 8eaa13efbf..c9e42d4c2e 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -67,382 +67,149 @@ struct gkyl_gk_collisionless_flux { // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfx_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfx_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfx_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfx_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_surfvpar_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_surfvpar_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_surfvpar_3x2v_ser_p1, NULL }, // 3 - }, - } }; + // // Kernels used at multiblock boundaries. // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfx_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfx_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[] = { - { - .kernels_list= { - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list= { - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels = { + .kernels_list= { + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list= { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, - } }; // Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; @@ -451,205 +218,79 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfx_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfx_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfx_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfx_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_no_by_surfvpar_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfvpar_none, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_no_by_surfvpar_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 - }, - } }; // // Kernels used at multiblock boundaries. @@ -657,199 +298,91 @@ static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[] = { - { - .kernels_list = { - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels = { + .kernels_list = { + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_em_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 0 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; // Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[] = { - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels = { + .kernels_list = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_em_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, - }, - { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfconf_none, NULL }, // 3 - }, - } }; GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -857,25 +390,25 @@ choose_gk_collisionless_flux_surf_conf_kern(int em, int dir, int cdim, int vdim, GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_edge_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -883,32 +416,32 @@ choose_gk_collisionless_flux_edge_surf_conf_kern(int em, int dir, int cdim, int GKYL_CU_D static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_surf_vpar_kern(int em, int cdim, int vdim, int poly_order) +choose_gk_collisionless_flux_surf_vpar_kern(int cdim, int vdim, int poly_order) { - return ser_gk_collisionless_flux_surfvpar_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfvpar_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_no_by_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_no_by_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_no_by_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -916,25 +449,25 @@ choose_gk_collisionless_flux_no_by_surf_conf_kern(int em, int dir, int cdim, int GKYL_CU_D static gk_collisionless_flux_surf_t -choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int em, int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) +choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_no_by_edge_surfx_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_edge_surfy_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_edge_surfz_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -942,9 +475,9 @@ choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int em, int dir, int cdim GKYL_CU_D static gk_collisionless_flux_surfvpar_t -choose_gk_collisionless_flux_no_by_surf_vpar_kern(int em, int cdim, int vdim, int poly_order) +choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_order) { - return ser_gk_collisionless_flux_no_by_surfvpar_kernels[em].kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfvpar_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } #ifdef GKYL_HAVE_CUDA From b0f904fc03d6bca5c01e19a28fbfbe640e74725a Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 27 Apr 2026 17:56:06 -0400 Subject: [PATCH 155/181] bug fix in the EM 2x2v kernels, the 2D limit of the Apar cross product was wrong. --- .../dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c | 48 +++++++++---------- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 24 ++++------ 2 files changed, 32 insertions(+), 40 deletions(-) diff --git a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c index ee1caa15a7..f01c94ae3d 100644 --- a/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c +++ b/gyrokinetic/ker/dg_gyrokinetic/dg_gyrokinetic_add_apar_vol_2x2v_ser_p1.c @@ -55,14 +55,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const hamil2[1] = hamil[16]*hamil[16]; double alphax[24] = {0.}; - alphax[0] = (((-(0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[1] = (((-(0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[3] = (((-(1.369306393762915*bioverJB_3[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_3[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_1[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[0]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[3])-0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; - alphax[6] = (((-(1.369306393762915*bioverJB_3[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_3[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_3[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_3[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; - alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_3[3]*hamil[16])-1.369306393762915*bioverJB_3[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[0] = (((-(0.6123724356957944*bioverJB_2[1]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_2[0]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[1] = (((-(0.6123724356957944*bioverJB_2[0]*apar[3]*hamil[3])-0.6123724356957944*bioverJB_2[1]*apar[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[2] = (((-(0.6123724356957944*apar[3]*bioverJB_2[3]*hamil[3])-0.6123724356957944*apar[2]*bioverJB_2[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[3] = (((-(1.369306393762915*bioverJB_2[1]*apar[3]*hamil[16])-1.369306393762915*bioverJB_2[0]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_1[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[0]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[5] = (((-(0.6123724356957944*apar[2]*bioverJB_2[3]*hamil[3])-0.6123724356957944*bioverJB_2[2]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[3])*rdx2)/vmap[1])/m_; + alphax[6] = (((-(1.369306393762915*bioverJB_2[0]*apar[3]*hamil[16])-1.369306393762915*bioverJB_2[1]*apar[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[1]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[7] = (((-(1.369306393762915*apar[3]*bioverJB_2[3]*hamil[16])-1.369306393762915*apar[2]*bioverJB_2[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; + alphax[11] = (((-(1.369306393762915*apar[2]*bioverJB_2[3]*hamil[16])-1.369306393762915*bioverJB_2[2]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_1[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_1[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_1[1]*apar[2]*hamil[16])*rdx2)/vmap[1])/m_; out[1] += 0.4330127018922193*(alphax[11]*fin[11]+alphax[7]*fin[7]+alphax[6]*fin[6]+alphax[5]*fin[5]+alphax[3]*fin[3]+alphax[2]*fin[2]+alphax[1]*fin[1]+alphax[0]*fin[0]); @@ -79,14 +79,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphax[1]*fin[23]+0.43301270189221935*(alphax[0]*fin[22]+alphax[5]*fin[21])+0.4330127018922193*alphax[2]*fin[19]+0.3872983346207417*(alphax[6]*fin[15]+alphax[3]*fin[14]+alphax[11]*fin[13]+alphax[7]*fin[10]); double alphaz[24] = {0.}; - alphaz[0] = (((0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[3]+0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[1] = (((0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[2] = (((0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[3] = (((1.369306393762915*bioverJB_3[2]*apar[3]*hamil[16]+1.369306393762915*bioverJB_3[0]*apar[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_3[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[0]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[5] = (((0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[3]+0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; - alphaz[6] = (((1.369306393762915*apar[3]*bioverJB_3[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_3[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[1]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[7] = (((1.369306393762915*bioverJB_3[0]*apar[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_3[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; - alphaz[11] = (((1.369306393762915*apar[1]*bioverJB_3[3]*hamil[16]+1.369306393762915*bioverJB_3[1]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[1]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[0] = (((0.6123724356957944*bioverJB_2[2]*apar[3]*hamil[3]+0.6123724356957944*bioverJB_2[0]*apar[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[3]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[1] = (((0.6123724356957944*apar[3]*bioverJB_2[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_2[1]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[2] = (((0.6123724356957944*bioverJB_2[0]*apar[3]*hamil[3]+0.6123724356957944*apar[1]*bioverJB_2[2]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[1]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[1]*apar[3]*hamil[3]+0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[3] = (((1.369306393762915*bioverJB_2[2]*apar[3]*hamil[16]+1.369306393762915*bioverJB_2[0]*apar[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[3]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*apar[2]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_3[1]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[0]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[5] = (((0.6123724356957944*apar[1]*bioverJB_2[3]*hamil[3]+0.6123724356957944*bioverJB_2[1]*apar[3]*hamil[3])*rdx2*rdz2)/vmap[1]+((0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[3]+0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[3]+0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[3])*rdz2)/vmap[1])/m_; + alphaz[6] = (((1.369306393762915*apar[3]*bioverJB_2[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_2[1]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[2]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[2]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[1]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[1]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[7] = (((1.369306393762915*bioverJB_2[0]*apar[3]*hamil[16]+1.369306393762915*apar[1]*bioverJB_2[2]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[1]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[1]*apar[3]*hamil[16]+0.7905694150420947*apar[0]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; + alphaz[11] = (((1.369306393762915*apar[1]*bioverJB_2[3]*hamil[16]+1.369306393762915*bioverJB_2[1]*apar[3]*hamil[16])*rdx2*rdz2)/vmap[1]+((0.7905694150420947*apar[0]*dualcurlbhatoverB_3[3]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[0]*apar[3]*hamil[16]+0.7905694150420947*apar[1]*dualcurlbhatoverB_3[2]*hamil[16]+0.7905694150420947*dualcurlbhatoverB_3[1]*apar[2]*hamil[16])*rdz2)/vmap[1])/m_; out[2] += 0.4330127018922193*(alphaz[11]*fin[11]+alphaz[7]*fin[7]+alphaz[6]*fin[6]+alphaz[5]*fin[5]+alphaz[3]*fin[3]+alphaz[2]*fin[2]+alphaz[1]*fin[1]+alphaz[0]*fin[0]); @@ -103,14 +103,14 @@ GKYL_CU_DH double dg_gyrokinetic_add_apar_vol_2x2v_ser_p1(const double *w, const out[23] += 0.4330127018922193*alphaz[2]*fin[23]+0.43301270189221935*(alphaz[5]*fin[22]+alphaz[0]*fin[21])+0.4330127018922193*alphaz[1]*fin[19]+0.3872983346207417*(alphaz[7]*fin[15]+alphaz[11]*fin[14]+alphaz[3]*fin[13]+alphaz[6]*fin[10]); double alphavpar[24] = {0.}; - alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[5]-0.6123724356957944*bioverJB_3[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_3[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_3[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_3[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_1[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_1[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[5]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_3[3]+0.6123724356957944*bioverJB_3[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[2]+0.6123724356957944*bioverJB_3[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_3[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_1[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_1[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; - alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[5])+0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_3[3]-0.6123724356957944*bioverJB_3[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_3[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_1[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_1[3]-0.3535533905932737*dualcurlbhatoverB_1[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_1[2]-0.3535533905932737*dualcurlbhatoverB_1[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[12]-0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[5])+0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_3[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_3[3]-0.6123724356957944*bioverJB_3[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_3[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_3[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_3[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_1[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_1[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_1[3]-0.3535533905932737*dualcurlbhatoverB_1[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_1[2]-0.3535533905932737*dualcurlbhatoverB_1[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; - alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[12]-0.6123724356957944*bioverJB_3[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_3[1]*hamil[9]+0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_3[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[12])+0.6123724356957944*bioverJB_3[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_3[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_3[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_3[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_1[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; - alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_3[2]*hamil[12])+0.6123724356957944*bioverJB_3[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_3[3]*hamil[9]-0.6123724356957944*bioverJB_3[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_3[3]*hamil[8]+0.6123724356957944*bioverJB_3[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_3[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_3[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_1[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_1[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[0] = (((0.6123724356957944*apar[2]*bioverJB_2[2]*hamil[5]-0.6123724356957944*apar[1]*bioverJB_2[1]*hamil[5]-0.6123724356957944*bioverJB_2[2]*hamil[2]*apar[3]+0.6123724356957944*bioverJB_2[1]*hamil[1]*apar[3]-0.6123724356957944*bioverJB_2[0]*apar[1]*hamil[2]+0.6123724356957944*bioverJB_2[0]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[5]-0.3535533905932737*hamil[2]*apar[3]*dualcurlbhatoverB_3[3]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[2]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[3]*dualcurlbhatoverB_1[3]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_1[2]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[1]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[1] = (((0.6123724356957944*apar[2]*bioverJB_2[3]*hamil[5]-0.6123724356957944*bioverJB_2[0]*apar[1]*hamil[5]-0.6123724356957944*hamil[2]*apar[3]*bioverJB_2[3]+0.6123724356957944*bioverJB_2[0]*hamil[1]*apar[3]-0.6123724356957944*apar[1]*bioverJB_2[1]*hamil[2]+0.6123724356957944*bioverJB_2[1]*hamil[1]*apar[2])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[5]-0.6363961030678926*apar[1]*dualcurlbhatoverB_3[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[5]-0.3535533905932737*apar[2]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[2]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[2])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[5]-0.3535533905932737*hamil[1]*apar[2]*dualcurlbhatoverB_1[3]-0.3535533905932737*hamil[1]*dualcurlbhatoverB_1[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[1]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[1])*rdx2)/vmap[1])/m_; + alphavpar[2] = (((-(0.6123724356957944*apar[1]*bioverJB_2[3]*hamil[5])+0.6123724356957944*bioverJB_2[0]*apar[2]*hamil[5]+0.6123724356957944*hamil[1]*apar[3]*bioverJB_2[3]-0.6123724356957944*bioverJB_2[0]*hamil[2]*apar[3]-0.6123724356957944*apar[1]*bioverJB_2[2]*hamil[2]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_2[2])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[5])-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[5]-0.3535533905932737*apar[1]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[1]*hamil[2]*apar[3]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_1[3]*hamil[5])-0.6363961030678926*apar[2]*dualcurlbhatoverB_1[2]*hamil[5]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[5]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_1[3]-0.3535533905932737*dualcurlbhatoverB_1[1]*hamil[1]*apar[3]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_1[2]-0.3535533905932737*dualcurlbhatoverB_1[0]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[4] = (((0.6123724356957944*apar[2]*bioverJB_2[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_2[1]*hamil[12]-0.6123724356957944*bioverJB_2[2]*apar[3]*hamil[9]-0.6123724356957944*bioverJB_2[0]*apar[1]*hamil[9]+0.6123724356957944*bioverJB_2[1]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_2[0]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[1]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[12]-0.3535533905932737*apar[3]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*apar[2]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[5] = (((-(0.6123724356957944*apar[1]*bioverJB_2[2]*hamil[5])+0.6123724356957944*bioverJB_2[1]*apar[2]*hamil[5]-0.6123724356957944*apar[1]*hamil[2]*bioverJB_2[3]+0.6123724356957944*hamil[1]*apar[2]*bioverJB_2[3]-0.6123724356957944*bioverJB_2[1]*hamil[2]*apar[3]+0.6123724356957944*hamil[1]*bioverJB_2[2]*apar[3])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_3[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_3[1]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[5]-0.3535533905932737*apar[0]*hamil[2]*dualcurlbhatoverB_3[3]-0.3535533905932737*dualcurlbhatoverB_3[0]*hamil[2]*apar[3]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[2]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[2])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_1[3]*hamil[5])-0.6363961030678926*dualcurlbhatoverB_1[2]*apar[3]*hamil[5]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[5]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[5]-0.3535533905932737*apar[0]*hamil[1]*dualcurlbhatoverB_1[3]-0.3535533905932737*dualcurlbhatoverB_1[0]*hamil[1]*apar[3]-0.3535533905932737*apar[1]*hamil[1]*dualcurlbhatoverB_1[2]-0.3535533905932737*dualcurlbhatoverB_1[1]*hamil[1]*apar[2])*rdx2)/vmap[1])/m_; + alphavpar[8] = (((0.6123724356957944*apar[2]*bioverJB_2[3]*hamil[12]-0.6123724356957944*bioverJB_2[0]*apar[1]*hamil[12]-0.6123724356957944*apar[3]*bioverJB_2[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_2[1]*hamil[9]+0.6123724356957944*bioverJB_2[0]*apar[3]*hamil[8]+0.6123724356957944*bioverJB_2[1]*apar[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[2]*hamil[12]-0.6363961030678926*apar[1]*dualcurlbhatoverB_3[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[0]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[2]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[1]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[1]*hamil[9])*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[12]-0.3535533905932737*apar[2]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[2]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[9] = (((-(0.6123724356957944*apar[1]*bioverJB_2[3]*hamil[12])+0.6123724356957944*bioverJB_2[0]*apar[2]*hamil[12]-0.6123724356957944*bioverJB_2[0]*apar[3]*hamil[9]-0.6123724356957944*apar[1]*bioverJB_2[2]*hamil[9]+0.6123724356957944*apar[3]*bioverJB_2[3]*hamil[8]+0.6123724356957944*apar[2]*bioverJB_2[2]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[12])-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[3]*hamil[9]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[3]*dualcurlbhatoverB_1[3]*hamil[12])-0.6363961030678926*apar[2]*dualcurlbhatoverB_1[2]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[0]*hamil[12]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[3]*hamil[8]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; + alphavpar[12] = (((-(0.6123724356957944*apar[1]*bioverJB_2[2]*hamil[12])+0.6123724356957944*bioverJB_2[1]*apar[2]*hamil[12]-0.6123724356957944*apar[1]*bioverJB_2[3]*hamil[9]-0.6123724356957944*bioverJB_2[1]*apar[3]*hamil[9]+0.6123724356957944*apar[2]*bioverJB_2[3]*hamil[8]+0.6123724356957944*bioverJB_2[2]*apar[3]*hamil[8])*rdx2*rdz2)/vmap[1]+((-(0.6363961030678926*apar[1]*dualcurlbhatoverB_3[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_3[1]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[2]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[2]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_3[3]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[0]*apar[3]*hamil[9]-0.3535533905932737*apar[1]*dualcurlbhatoverB_3[2]*hamil[9]-0.3535533905932737*dualcurlbhatoverB_3[1]*apar[2]*hamil[9])*rdz2)/vmap[1]+((-(0.6363961030678926*apar[2]*dualcurlbhatoverB_1[3]*hamil[12])-0.6363961030678926*dualcurlbhatoverB_1[2]*apar[3]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[1]*hamil[12]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[1]*hamil[12]-0.3535533905932737*apar[0]*dualcurlbhatoverB_1[3]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[0]*apar[3]*hamil[8]-0.3535533905932737*apar[1]*dualcurlbhatoverB_1[2]*hamil[8]-0.3535533905932737*dualcurlbhatoverB_1[1]*apar[2]*hamil[8])*rdx2)/vmap[1])/m_; out[3] += 0.4330127018922193*(alphavpar[12]*fin[12]+alphavpar[9]*fin[9]+alphavpar[8]*fin[8]+alphavpar[5]*fin[5]+alphavpar[4]*fin[4]+alphavpar[2]*fin[2]+alphavpar[1]*fin[1]+alphavpar[0]*fin[0]); diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index bcde53a400..e88c9ec8fb 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -66,8 +66,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -82,8 +81,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -107,8 +105,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -123,8 +120,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -148,8 +144,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -164,8 +159,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -189,8 +183,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -205,8 +198,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[0]/m_ *(0); - alpha_quad += -bioverJB_quad[2]/m_ *(0); + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; From 3a1f97cf25b20a6325dcd5d3b272728cc8c3c345 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 28 Apr 2026 13:01:28 -0400 Subject: [PATCH 156/181] refactor the inactive flux surface kernels --- ...conf_return_zero.c => gk_collisionless_flux_surfconf_none.c} | 2 +- ...vpar_return_zero.c => gk_collisionless_flux_surfvpar_none.c} | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfconf_return_zero.c => gk_collisionless_flux_surfconf_none.c} (89%) rename gyrokinetic/ker/gk_collisionless_flux/{gk_collisionless_flux_surfvpar_return_zero.c => gk_collisionless_flux_surfvpar_none.c} (88%) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c similarity index 89% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_return_zero.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c index b8e1844650..341b6e2c2c 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_return_zero.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfconf_none.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfconf_return_zero( +GKYL_CU_DH double gk_collisionless_flux_surfconf_none( const double *w, const double *dxv, const double *vmap, const double *vmapSq, const double q_, const double m_, const struct gkyl_dg_surf_geom *dgs, const struct gkyl_gk_dg_surf_geom *gkdgs, diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c similarity index 88% rename from gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c rename to gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c index 6ebfb94492..8be40ca284 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_return_zero.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_none.c @@ -1,5 +1,5 @@ #include -GKYL_CU_DH double gk_collisionless_flux_surfvpar_return_zero( +GKYL_CU_DH double gk_collisionless_flux_surfvpar_none( const double *w, const double *dxv, const double *vmap_prime_l, const double *vmap_prime_r, const double *vmap, const double *vmapSq, const double q_, const double m_, From 336fdde636ff382547860a306f531fdccda40a05 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 28 Apr 2026 14:56:33 -0400 Subject: [PATCH 157/181] vpar surface flux kernels written with the nodal expansion done after mutliplication of gradA x gradH and A . gradH --- ..._collisionless_flux_surfvpar_1x1v_ser_p1.c | 4 +- ..._collisionless_flux_surfvpar_1x2v_ser_p1.c | 8 +- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 48 ++--- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 192 +++++++++--------- 4 files changed, 126 insertions(+), 126 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c index 055c7bee14..56b2e82817 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x1v_ser_p1.c @@ -56,7 +56,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -1.0/m_/bmag_quad * (0.8660254037844386*(0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*hamil[1]*rdx2)*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -77,7 +77,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x1v_ser_p1( alpha_quad = -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.8660254037844386*hamil[2]-3.3541019662496847*hamil[4]))/vmap[1]); - alpha_quad += -(0.8660254037844386*hamil[1]*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -1.0/m_/bmag_quad * (0.8660254037844386*(0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*hamil[1]*rdx2)*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c index 922fdb0552..e916144b42 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_1x2v_ser_p1.c @@ -58,7 +58,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -1.0/m_/bmag_quad * ((0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*(0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -70,7 +70,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*dualcurlbhat_quad[2]; + alpha_quad += -1.0/m_/bmag_quad * ((0.7071067811865475*apar[0]-0.7071067811865475*apar[1])*(0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[0]-0.7071067811865475*apardot[1]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -91,7 +91,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -1.0/m_/bmag_quad * ((0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*(0.6123724356957944*hamil[1]-0.6123724356957944*hamil[5])*rdx2)*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -103,7 +103,7 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_1x2v_ser_p1( alpha_quad = -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.6123724356957944*hamil[2]-2.371708245126284*hamil[8]))/vmap[1]); - alpha_quad += -((0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)/m_/bmag_quad * (0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*dualcurlbhat_quad[2]; + alpha_quad += -1.0/m_/bmag_quad * ((0.7071067811865475*apar[1]+0.7071067811865475*apar[0])*(0.6123724356957944*hamil[5]+0.6123724356957944*hamil[1])*rdx2)*dualcurlbhat_quad[2]; alpha_quad += -q_/m_*(0.7071067811865475*apardot[1]+0.7071067811865475*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index e88c9ec8fb..7ac8ec5933 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -64,9 +64,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -79,9 +79,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -103,9 +103,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -118,9 +118,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -142,9 +142,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -157,9 +157,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -181,9 +181,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -196,9 +196,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * (0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index 388b4a2609..a1c6a84102 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -70,12 +70,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -89,12 +89,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -117,12 +117,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -136,12 +136,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -164,12 +164,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -183,12 +183,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -211,12 +211,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -230,12 +230,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -258,12 +258,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -277,12 +277,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -305,12 +305,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -324,12 +324,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -352,12 +352,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -371,12 +371,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -399,12 +399,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -418,12 +418,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * (0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; From efb002f5719def633f0c2e0295bbf8c4c00b6481 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Tue, 28 Apr 2026 15:55:24 -0400 Subject: [PATCH 158/181] down projection of gradH x gradA and A . gradH --- ..._collisionless_flux_surfvpar_2x2v_ser_p1.c | 82 ++++-- ..._collisionless_flux_surfvpar_3x2v_ser_p1.c | 276 ++++++++++++------ 2 files changed, 238 insertions(+), 120 deletions(-) diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c index 7ac8ec5933..67c457bcb8 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_2x2v_ser_p1.c @@ -40,6 +40,40 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( hamil[12] = 1.4142135623730951*bmag[3]*vmap[3]; hamil[16] = 1.4142135623730951*vmapSq[2]*m_; + double gradHxgradA_1[24] = {0.}; + + double gradHxgradA_2[24] = {0.}; + gradHxgradA_2[0] = (1.5*apar[1]*hamil[2]-1.5*hamil[1]*apar[2])*rdx2*rdz2; + gradHxgradA_2[1] = (1.5*apar[1]*hamil[5]-1.5*hamil[1]*apar[3])*rdx2*rdz2; + gradHxgradA_2[2] = (1.5*hamil[2]*apar[3]-1.5*apar[2]*hamil[5])*rdx2*rdz2; + gradHxgradA_2[4] = (1.5*apar[1]*hamil[9]-1.5*apar[2]*hamil[8])*rdx2*rdz2; + gradHxgradA_2[8] = (1.5*apar[1]*hamil[12]-1.5*apar[3]*hamil[8])*rdx2*rdz2; + gradHxgradA_2[9] = (1.5*apar[3]*hamil[9]-1.5*apar[2]*hamil[12])*rdx2*rdz2; + + double gradHxgradA_3[24] = {0.}; + + double apargradH_1[24] = {0.}; + apargradH_1[0] = 0.8660254037844386*(apar[2]*hamil[5]+apar[0]*hamil[1])*rdx2; + apargradH_1[1] = 0.8660254037844386*(apar[3]*hamil[5]+apar[1]*hamil[1])*rdx2; + apargradH_1[2] = 0.8660254037844386*(apar[0]*hamil[5]+hamil[1]*apar[2])*rdx2; + apargradH_1[4] = 0.8660254037844386*(apar[2]*hamil[12]+apar[0]*hamil[8])*rdx2; + apargradH_1[5] = 0.8660254037844386*(apar[1]*hamil[5]+hamil[1]*apar[3])*rdx2; + apargradH_1[8] = 0.8660254037844386*(apar[3]*hamil[12]+apar[1]*hamil[8])*rdx2; + apargradH_1[9] = 0.8660254037844386*(apar[0]*hamil[12]+apar[2]*hamil[8])*rdx2; + apargradH_1[12] = 0.8660254037844386*(apar[1]*hamil[12]+apar[3]*hamil[8])*rdx2; + + double apargradH_2[24] = {0.}; + + double apargradH_3[24] = {0.}; + apargradH_3[0] = 0.8660254037844386*(apar[1]*hamil[5]+apar[0]*hamil[2])*rdz2; + apargradH_3[1] = 0.8660254037844386*(apar[0]*hamil[5]+apar[1]*hamil[2])*rdz2; + apargradH_3[2] = 0.8660254037844386*(apar[3]*hamil[5]+apar[2]*hamil[2])*rdz2; + apargradH_3[4] = 0.8660254037844386*(apar[1]*hamil[12]+apar[0]*hamil[9])*rdz2; + apargradH_3[5] = 0.8660254037844386*(apar[2]*hamil[5]+hamil[2]*apar[3])*rdz2; + apargradH_3[8] = 0.8660254037844386*(apar[0]*hamil[12]+apar[1]*hamil[9])*rdz2; + apargradH_3[9] = 0.8660254037844386*(apar[3]*hamil[12]+apar[2]*hamil[9])*rdz2; + apargradH_3[12] = 0.8660254037844386*(apar[2]*hamil[12]+apar[3]*hamil[9])*rdz2; + double *flux_surf_nodal = &flux_surf[24]; double cfl = 0.0; double bmag_quad = 0.0; @@ -64,9 +98,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.25*apargradH_1[12])+0.25*apargradH_1[9]+0.25*apargradH_1[8]+0.25*apargradH_1[5]-0.25*apargradH_1[4]-0.25*apargradH_1[2]-0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.25*gradHxgradA_2[9]+0.25*gradHxgradA_2[8]-0.25*gradHxgradA_2[4]-0.25*gradHxgradA_2[2]-0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -79,9 +113,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]-0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (0.25*apargradH_1[12]-0.25*apargradH_1[9]-0.25*apargradH_1[8]+0.25*apargradH_1[5]+0.25*apargradH_1[4]-0.25*apargradH_1[2]-0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.25*gradHxgradA_2[9])-0.25*gradHxgradA_2[8]+0.25*gradHxgradA_2[4]-0.25*gradHxgradA_2[2]-0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(0.5*apardot[3]-0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -103,9 +137,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (0.25*apargradH_1[12]-0.25*apargradH_1[9]+0.25*apargradH_1[8]-0.25*apargradH_1[5]-0.25*apargradH_1[4]+0.25*apargradH_1[2]-0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.25*gradHxgradA_2[9])+0.25*gradHxgradA_2[8]-0.25*gradHxgradA_2[4]+0.25*gradHxgradA_2[2]-0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -118,9 +152,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])+0.5*apar[2]-0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[9]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[2]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.25*apargradH_1[12])+0.25*apargradH_1[9]-0.25*apargradH_1[8]-0.25*apargradH_1[5]+0.25*apargradH_1[4]+0.25*apargradH_1[2]-0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.25*gradHxgradA_2[9]-0.25*gradHxgradA_2[8]+0.25*gradHxgradA_2[4]+0.25*gradHxgradA_2[2]-0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(-(0.5*apardot[3])+0.5*apardot[2]-0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -142,9 +176,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]-0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (0.25*apargradH_1[12]+0.25*apargradH_1[9]-0.25*apargradH_1[8]-0.25*apargradH_1[5]-0.25*apargradH_1[4]-0.25*apargradH_1[2]+0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.25*gradHxgradA_2[9]-0.25*gradHxgradA_2[8]-0.25*gradHxgradA_2[4]-0.25*gradHxgradA_2[2]+0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -157,9 +191,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((-(0.5*apar[3])-0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[1]-0.8660254037844386*apar[3])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])+0.4330127018922193*hamil[8]-0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.25*apargradH_1[12])-0.25*apargradH_1[9]+0.25*apargradH_1[8]-0.25*apargradH_1[5]+0.25*apargradH_1[4]-0.25*apargradH_1[2]+0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.25*gradHxgradA_2[9])+0.25*gradHxgradA_2[8]+0.25*gradHxgradA_2[4]-0.25*gradHxgradA_2[2]+0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(-(0.5*apardot[3])-0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -181,9 +215,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(-(0.4330127018922193*hamil[12])-0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.25*apargradH_1[12])-0.25*apargradH_1[9]-0.25*apargradH_1[8]+0.25*apargradH_1[5]-0.25*apargradH_1[4]+0.25*apargradH_1[2]+0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.25*gradHxgradA_2[9])-0.25*gradHxgradA_2[8]-0.25*gradHxgradA_2[4]+0.25*gradHxgradA_2[2]+0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -196,9 +230,9 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_2x2v_ser_p1( alpha_quad = -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * B3_quad; alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); alpha_quad += -((0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.4330127018922193*hamil[3]-1.6770509831248424*hamil[16]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -1.0/m_/bmag_quad * ((0.5*apar[3]+0.5*apar[2]+0.5*apar[1]+0.5*apar[0])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.8660254037844386*apar[3]+0.8660254037844386*apar[1])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[9]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[2])*rdx2*rdz2-1.0*(0.8660254037844386*apar[3]+0.8660254037844386*apar[2])*(0.4330127018922193*hamil[12]+0.4330127018922193*hamil[8]+0.4330127018922193*hamil[5]+0.4330127018922193*hamil[1])*rdx2*rdz2); + alpha_quad += -1.0/m_/bmag_quad * (0.25*apargradH_1[12]+0.25*apargradH_1[9]+0.25*apargradH_1[8]+0.25*apargradH_1[5]+0.25*apargradH_1[4]+0.25*apargradH_1[2]+0.25*apargradH_1[1]+0.25*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -1.0/m_/bmag_quad * (0.0)*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.25*gradHxgradA_2[9]+0.25*gradHxgradA_2[8]+0.25*gradHxgradA_2[4]+0.25*gradHxgradA_2[2]+0.25*gradHxgradA_2[1]+0.25*gradHxgradA_2[0]); alpha_quad += -q_/m_*(0.5*apardot[3]+0.5*apardot[2]+0.5*apardot[1]+0.5*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; diff --git a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c index a1c6a84102..2338f22427 100644 --- a/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c +++ b/gyrokinetic/ker/gk_collisionless_flux/gk_collisionless_flux_surfvpar_3x2v_ser_p1.c @@ -45,6 +45,90 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( hamil[21] = 1.4142135623730951*vmap[3]*bmag[5]; hamil[32] = 2.0*vmapSq[2]*m_; + double gradHxgradA_1[48] = {0.}; + gradHxgradA_1[0] = (-(1.060660171779821*apar[4]*hamil[7])+1.060660171779821*apar[5]*hamil[6]-1.060660171779821*apar[2]*hamil[3]+1.060660171779821*hamil[2]*apar[3])*rdy2*rdz2; + gradHxgradA_1[1] = (-(1.060660171779821*apar[2]*hamil[7])+1.060660171779821*(apar[3]*hamil[6]+hamil[2]*apar[5])-1.060660171779821*hamil[3]*apar[4])*rdy2*rdz2; + gradHxgradA_1[2] = (1.060660171779821*(hamil[6]*apar[7]+hamil[2]*apar[6])-1.060660171779821*(apar[4]*hamil[16]+apar[2]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[3] = (1.060660171779821*(apar[5]*hamil[16]+apar[3]*hamil[8])-1.060660171779821*(apar[7]*hamil[7]+hamil[3]*apar[6]))*rdy2*rdz2; + gradHxgradA_1[5] = -(1.060660171779821*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[6] = (1.060660171779821*(hamil[2]*apar[7]+apar[6]*hamil[6])-1.060660171779821*(apar[2]*hamil[16]+apar[4]*hamil[8]))*rdy2*rdz2; + gradHxgradA_1[7] = (1.060660171779821*(apar[3]*hamil[16]+apar[5]*hamil[8])-1.060660171779821*(apar[6]*hamil[7]+hamil[3]*apar[7]))*rdy2*rdz2; + gradHxgradA_1[12] = -(1.060660171779821*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[14] = -(1.060660171779821*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdy2*rdz2); + gradHxgradA_1[21] = -(1.060660171779821*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdy2*rdz2); + + double gradHxgradA_2[48] = {0.}; + gradHxgradA_2[0] = (1.060660171779821*apar[4]*hamil[8]-1.060660171779821*apar[6]*hamil[6]+1.060660171779821*apar[1]*hamil[3]-1.060660171779821*hamil[1]*apar[3])*rdx2*rdz2; + gradHxgradA_2[1] = (1.060660171779821*(apar[4]*hamil[16]+apar[1]*hamil[7])-1.060660171779821*(hamil[6]*apar[7]+hamil[1]*apar[5]))*rdx2*rdz2; + gradHxgradA_2[2] = (1.060660171779821*apar[1]*hamil[8]-1.060660171779821*(apar[3]*hamil[6]+hamil[1]*apar[6])+1.060660171779821*hamil[3]*apar[4])*rdx2*rdz2; + gradHxgradA_2[3] = (-(1.060660171779821*apar[6]*hamil[16])+1.060660171779821*apar[7]*hamil[8]-1.060660171779821*apar[3]*hamil[7]+1.060660171779821*hamil[3]*apar[5])*rdx2*rdz2; + gradHxgradA_2[5] = (1.060660171779821*apar[1]*hamil[14]-1.060660171779821*apar[3]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[6] = (1.060660171779821*(apar[1]*hamil[16]+apar[4]*hamil[7])-1.060660171779821*(hamil[1]*apar[7]+apar[5]*hamil[6]))*rdx2*rdz2; + gradHxgradA_2[8] = (-(1.060660171779821*apar[3]*hamil[16])+1.060660171779821*apar[5]*hamil[8]-1.060660171779821*apar[6]*hamil[7]+1.060660171779821*hamil[3]*apar[7])*rdx2*rdz2; + gradHxgradA_2[12] = (1.060660171779821*apar[1]*hamil[21]-1.060660171779821*apar[5]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[13] = (1.060660171779821*apar[4]*hamil[14]-1.060660171779821*apar[6]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[14] = (1.060660171779821*apar[5]*hamil[14]-1.060660171779821*apar[3]*hamil[21])*rdx2*rdz2; + gradHxgradA_2[20] = (1.060660171779821*apar[4]*hamil[21]-1.060660171779821*apar[7]*hamil[12])*rdx2*rdz2; + gradHxgradA_2[22] = (1.060660171779821*apar[7]*hamil[14]-1.060660171779821*apar[6]*hamil[21])*rdx2*rdz2; + + double gradHxgradA_3[48] = {0.}; + gradHxgradA_3[0] = (-(1.060660171779821*apar[5]*hamil[8])+1.060660171779821*apar[6]*hamil[7]-1.060660171779821*apar[1]*hamil[2]+1.060660171779821*hamil[1]*apar[2])*rdx2*rdy2; + gradHxgradA_3[1] = (-(1.060660171779821*apar[5]*hamil[16])+1.060660171779821*apar[7]*hamil[7]-1.060660171779821*apar[1]*hamil[6]+1.060660171779821*hamil[1]*apar[4])*rdx2*rdy2; + gradHxgradA_3[2] = (1.060660171779821*apar[6]*hamil[16]-1.060660171779821*apar[7]*hamil[8]+1.060660171779821*apar[2]*hamil[6]-1.060660171779821*hamil[2]*apar[4])*rdx2*rdy2; + gradHxgradA_3[3] = (-(1.060660171779821*apar[1]*hamil[8])+1.060660171779821*(apar[2]*hamil[7]+hamil[1]*apar[6])-1.060660171779821*hamil[2]*apar[5])*rdx2*rdy2; + gradHxgradA_3[5] = 1.060660171779821*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[7] = (-(1.060660171779821*apar[1]*hamil[16])+1.060660171779821*(apar[4]*hamil[7]+hamil[1]*apar[7])-1.060660171779821*apar[5]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[8] = (1.060660171779821*apar[2]*hamil[16]-1.060660171779821*(apar[4]*hamil[8]+hamil[2]*apar[7])+1.060660171779821*apar[6]*hamil[6])*rdx2*rdy2; + gradHxgradA_3[12] = 1.060660171779821*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[14] = 1.060660171779821*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2*rdy2; + gradHxgradA_3[21] = 1.060660171779821*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2*rdy2; + + double apargradH_1[48] = {0.}; + apargradH_1[0] = 0.6123724356957944*(apar[6]*hamil[16]+apar[3]*hamil[7]+apar[2]*hamil[6]+apar[0]*hamil[1])*rdx2; + apargradH_1[1] = 0.6123724356957944*(apar[7]*hamil[16]+apar[5]*hamil[7]+apar[4]*hamil[6]+apar[1]*hamil[1])*rdx2; + apargradH_1[2] = 0.6123724356957944*(apar[3]*hamil[16]+apar[6]*hamil[7]+apar[0]*hamil[6]+hamil[1]*apar[2])*rdx2; + apargradH_1[3] = 0.6123724356957944*(apar[2]*hamil[16]+apar[0]*hamil[7]+apar[6]*hamil[6]+hamil[1]*apar[3])*rdx2; + apargradH_1[5] = 0.6123724356957944*(apar[3]*hamil[21]+apar[0]*hamil[12])*rdx2; + apargradH_1[6] = 0.6123724356957944*(apar[5]*hamil[16]+apar[7]*hamil[7]+apar[1]*hamil[6]+hamil[1]*apar[4])*rdx2; + apargradH_1[7] = 0.6123724356957944*(apar[4]*hamil[16]+apar[1]*hamil[7]+hamil[6]*apar[7]+hamil[1]*apar[5])*rdx2; + apargradH_1[8] = 0.6123724356957944*(apar[0]*hamil[16]+apar[2]*hamil[7]+apar[3]*hamil[6]+hamil[1]*apar[6])*rdx2; + apargradH_1[12] = 0.6123724356957944*(apar[5]*hamil[21]+apar[1]*hamil[12])*rdx2; + apargradH_1[13] = 0.6123724356957944*(apar[6]*hamil[21]+apar[2]*hamil[12])*rdx2; + apargradH_1[14] = 0.6123724356957944*(apar[0]*hamil[21]+apar[3]*hamil[12])*rdx2; + apargradH_1[16] = 0.6123724356957944*(apar[1]*hamil[16]+apar[4]*hamil[7]+hamil[1]*apar[7]+apar[5]*hamil[6])*rdx2; + apargradH_1[20] = 0.6123724356957944*(apar[7]*hamil[21]+apar[4]*hamil[12])*rdx2; + apargradH_1[21] = 0.6123724356957944*(apar[1]*hamil[21]+apar[5]*hamil[12])*rdx2; + apargradH_1[22] = 0.6123724356957944*(apar[2]*hamil[21]+apar[6]*hamil[12])*rdx2; + apargradH_1[27] = 0.6123724356957944*(apar[4]*hamil[21]+apar[7]*hamil[12])*rdx2; + + double apargradH_2[48] = {0.}; + apargradH_2[0] = 0.6123724356957944*(apar[5]*hamil[16]+apar[3]*hamil[8]+apar[1]*hamil[6]+apar[0]*hamil[2])*rdy2; + apargradH_2[1] = 0.6123724356957944*(apar[3]*hamil[16]+apar[5]*hamil[8]+apar[0]*hamil[6]+apar[1]*hamil[2])*rdy2; + apargradH_2[2] = 0.6123724356957944*(apar[7]*hamil[16]+apar[6]*hamil[8]+apar[4]*hamil[6]+apar[2]*hamil[2])*rdy2; + apargradH_2[3] = 0.6123724356957944*(apar[1]*hamil[16]+apar[0]*hamil[8]+apar[5]*hamil[6]+hamil[2]*apar[3])*rdy2; + apargradH_2[6] = 0.6123724356957944*(apar[6]*hamil[16]+apar[7]*hamil[8]+apar[2]*hamil[6]+hamil[2]*apar[4])*rdy2; + apargradH_2[7] = 0.6123724356957944*(apar[0]*hamil[16]+apar[1]*hamil[8]+apar[3]*hamil[6]+hamil[2]*apar[5])*rdy2; + apargradH_2[8] = 0.6123724356957944*(apar[4]*hamil[16]+apar[2]*hamil[8]+hamil[6]*apar[7]+hamil[2]*apar[6])*rdy2; + apargradH_2[16] = 0.6123724356957944*(apar[2]*hamil[16]+apar[4]*hamil[8]+hamil[2]*apar[7]+apar[6]*hamil[6])*rdy2; + + double apargradH_3[48] = {0.}; + apargradH_3[0] = 0.6123724356957944*(apar[4]*hamil[16]+apar[2]*hamil[8]+apar[1]*hamil[7]+apar[0]*hamil[3])*rdz2; + apargradH_3[1] = 0.6123724356957944*(apar[2]*hamil[16]+apar[4]*hamil[8]+apar[0]*hamil[7]+apar[1]*hamil[3])*rdz2; + apargradH_3[2] = 0.6123724356957944*(apar[1]*hamil[16]+apar[0]*hamil[8]+apar[4]*hamil[7]+apar[2]*hamil[3])*rdz2; + apargradH_3[3] = 0.6123724356957944*(apar[7]*hamil[16]+apar[6]*hamil[8]+apar[5]*hamil[7]+apar[3]*hamil[3])*rdz2; + apargradH_3[5] = 0.6123724356957944*(apar[1]*hamil[21]+apar[0]*hamil[14])*rdz2; + apargradH_3[6] = 0.6123724356957944*(apar[0]*hamil[16]+apar[1]*hamil[8]+apar[2]*hamil[7]+hamil[3]*apar[4])*rdz2; + apargradH_3[7] = 0.6123724356957944*(apar[6]*hamil[16]+apar[7]*hamil[8]+apar[3]*hamil[7]+hamil[3]*apar[5])*rdz2; + apargradH_3[8] = 0.6123724356957944*(apar[5]*hamil[16]+apar[3]*hamil[8]+apar[7]*hamil[7]+hamil[3]*apar[6])*rdz2; + apargradH_3[12] = 0.6123724356957944*(apar[0]*hamil[21]+apar[1]*hamil[14])*rdz2; + apargradH_3[13] = 0.6123724356957944*(apar[4]*hamil[21]+apar[2]*hamil[14])*rdz2; + apargradH_3[14] = 0.6123724356957944*(apar[5]*hamil[21]+apar[3]*hamil[14])*rdz2; + apargradH_3[16] = 0.6123724356957944*(apar[3]*hamil[16]+apar[5]*hamil[8]+apar[6]*hamil[7]+hamil[3]*apar[7])*rdz2; + apargradH_3[20] = 0.6123724356957944*(apar[2]*hamil[21]+apar[4]*hamil[14])*rdz2; + apargradH_3[21] = 0.6123724356957944*(apar[3]*hamil[21]+apar[5]*hamil[14])*rdz2; + apargradH_3[22] = 0.6123724356957944*(apar[7]*hamil[21]+apar[6]*hamil[14])*rdz2; + apargradH_3[27] = 0.6123724356957944*(apar[6]*hamil[21]+apar[7]*hamil[14])*rdz2; + double *flux_surf_nodal = &flux_surf[72]; double cfl = 0.0; double bmag_quad = 0.0; @@ -70,12 +154,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]-0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])+0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])+0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])-0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]-0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])+0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -89,12 +173,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])+0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]-0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])+0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]+0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])+0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]-0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -117,12 +201,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])+0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]-0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]-0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]-0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])+0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]-0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -136,12 +220,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]-0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])+0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]-0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])+0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]-0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])+0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -164,12 +248,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])+0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])+0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]-0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]+0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])+0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])+0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -183,12 +267,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]-0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]-0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]-0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]-0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])-0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]-0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]-0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -211,12 +295,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]-0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]-0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])+0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])+0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]-0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]-0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -230,12 +314,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]-0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[6]-0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])+0.3061862178478971*hamil[8]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])+0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]-0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])+0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]-0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])+0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]-0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]-0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]-0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])+0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]-0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])+0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]-0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]-0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -258,12 +342,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])-0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]+0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]+0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])+0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])-0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]+0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -277,12 +361,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]-0.3535533905932737*apar[5]-0.3535533905932737*apar[4]-0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]-0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]+0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])-0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]+0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]-0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]+0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])-0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -305,12 +389,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]+0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])-0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])-0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]+0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]+0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])-0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -324,12 +408,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]+0.3535533905932737*apar[5]-0.3535533905932737*apar[4]+0.3535533905932737*apar[3]-0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]-0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])+0.6123724356957944*apar[5]-0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])-0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]-0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]-0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]+0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]-0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]-0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])-0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]-0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]-0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])-0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]-0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]-0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])-0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]-0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]-0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]+0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]-0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]-0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]-0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -352,12 +436,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]-0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]+0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]+0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])-0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]-0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]+0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]+0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -371,12 +455,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((-(0.3535533905932737*apar[7])-0.3535533905932737*apar[6]-0.3535533905932737*apar[5]+0.3535533905932737*apar[4]-0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((-(0.6123724356957944*apar[7])-0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])-0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]-0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(-(0.6123724356957944*apar[7])-0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[16])-0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])-0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]-0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]-0.1767766952966368*apargradH_1[8]-0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]-0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])-0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]-0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]-0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_2[16])-0.1767766952966368*apargradH_2[8]-0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]-0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])+0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]-0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]-0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])-0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]-0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]-0.1767766952966368*apargradH_3[8]-0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]-0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])-0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]-0.1767766952966368*gradHxgradA_3[8]-0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]-0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(-(0.3535533905932737*apardot[7])-0.3535533905932737*apardot[6]-0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]-0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -399,12 +483,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(-(0.3061862178478971*hamil[21])+0.3061862178478971*hamil[16]-0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_1[27])-0.1767766952966368*apargradH_1[22]-0.1767766952966368*apargradH_1[21]-0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]-0.1767766952966368*apargradH_1[14]-0.1767766952966368*apargradH_1[13]-0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]-0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(-(0.1767766952966368*gradHxgradA_1[21])-0.1767766952966368*gradHxgradA_1[14]-0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]-0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]+0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(-(0.1767766952966368*gradHxgradA_2[22])-0.1767766952966368*gradHxgradA_2[20]-0.1767766952966368*gradHxgradA_2[14]-0.1767766952966368*gradHxgradA_2[13]-0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]-0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (-(0.1767766952966368*apargradH_3[27])-0.1767766952966368*apargradH_3[22]-0.1767766952966368*apargradH_3[21]-0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]-0.1767766952966368*apargradH_3[14]-0.1767766952966368*apargradH_3[13]-0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]-0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(-(0.1767766952966368*gradHxgradA_3[21])-0.1767766952966368*gradHxgradA_3[14]-0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]-0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; @@ -418,12 +502,12 @@ GKYL_CU_DH double gk_collisionless_flux_surfvpar_3x2v_ser_p1( alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[0]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[1]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); alpha_quad += -((0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)/m_/bmag_quad * 1/q_*dualcurlbhat_quad[2]*((0.8164965809277261*(0.3061862178478971*hamil[4]-1.185854122563142*hamil[32]))/vmap[1]); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2)*dualcurlbhat_quad[0]; - alpha_quad += -bioverJB_quad[0]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdy2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdy2)*dualcurlbhat_quad[1]; - alpha_quad += -bioverJB_quad[1]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdx2*rdz2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[5]+0.6123724356957944*apar[3])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdz2); - alpha_quad += -1.0/m_/bmag_quad * ((0.3535533905932737*apar[7]+0.3535533905932737*apar[6]+0.3535533905932737*apar[5]+0.3535533905932737*apar[4]+0.3535533905932737*apar[3]+0.3535533905932737*apar[2]+0.3535533905932737*apar[1]+0.3535533905932737*apar[0])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[14]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[3])*rdz2)*dualcurlbhat_quad[2]; - alpha_quad += -bioverJB_quad[2]/m_ *((0.6123724356957944*apar[7]+0.6123724356957944*apar[6]+0.6123724356957944*apar[4]+0.6123724356957944*apar[2])*(0.3061862178478971*hamil[21]+0.3061862178478971*hamil[16]+0.3061862178478971*hamil[12]+0.3061862178478971*hamil[7]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[1])*rdx2*rdy2-1.0*(0.6123724356957944*apar[7]+0.6123724356957944*apar[5]+0.6123724356957944*apar[4]+0.6123724356957944*apar[1])*(0.3061862178478971*hamil[16]+0.3061862178478971*hamil[8]+0.3061862178478971*hamil[6]+0.3061862178478971*hamil[2])*rdx2*rdy2); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_1[27]+0.1767766952966368*apargradH_1[22]+0.1767766952966368*apargradH_1[21]+0.1767766952966368*apargradH_1[20]+0.1767766952966368*apargradH_1[16]+0.1767766952966368*apargradH_1[14]+0.1767766952966368*apargradH_1[13]+0.1767766952966368*apargradH_1[12]+0.1767766952966368*apargradH_1[8]+0.1767766952966368*apargradH_1[7]+0.1767766952966368*apargradH_1[6]+0.1767766952966368*apargradH_1[5]+0.1767766952966368*apargradH_1[3]+0.1767766952966368*apargradH_1[2]+0.1767766952966368*apargradH_1[1]+0.1767766952966368*apargradH_1[0])*dualcurlbhat_quad[0]; + alpha_quad += -bioverJB_quad[0]/m_ *(0.1767766952966368*gradHxgradA_1[21]+0.1767766952966368*gradHxgradA_1[14]+0.1767766952966368*gradHxgradA_1[12]+0.1767766952966368*gradHxgradA_1[7]+0.1767766952966368*gradHxgradA_1[6]+0.1767766952966368*gradHxgradA_1[5]+0.1767766952966368*gradHxgradA_1[3]+0.1767766952966368*gradHxgradA_1[2]+0.1767766952966368*gradHxgradA_1[1]+0.1767766952966368*gradHxgradA_1[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_2[16]+0.1767766952966368*apargradH_2[8]+0.1767766952966368*apargradH_2[7]+0.1767766952966368*apargradH_2[6]+0.1767766952966368*apargradH_2[3]+0.1767766952966368*apargradH_2[2]+0.1767766952966368*apargradH_2[1]+0.1767766952966368*apargradH_2[0])*dualcurlbhat_quad[1]; + alpha_quad += -bioverJB_quad[1]/m_ *(0.1767766952966368*gradHxgradA_2[22]+0.1767766952966368*gradHxgradA_2[20]+0.1767766952966368*gradHxgradA_2[14]+0.1767766952966368*gradHxgradA_2[13]+0.1767766952966368*gradHxgradA_2[12]+0.1767766952966368*gradHxgradA_2[8]+0.1767766952966368*gradHxgradA_2[6]+0.1767766952966368*gradHxgradA_2[5]+0.1767766952966368*gradHxgradA_2[3]+0.1767766952966368*gradHxgradA_2[2]+0.1767766952966368*gradHxgradA_2[1]+0.1767766952966368*gradHxgradA_2[0]); + alpha_quad += -1.0/m_/bmag_quad * (0.1767766952966368*apargradH_3[27]+0.1767766952966368*apargradH_3[22]+0.1767766952966368*apargradH_3[21]+0.1767766952966368*apargradH_3[20]+0.1767766952966368*apargradH_3[16]+0.1767766952966368*apargradH_3[14]+0.1767766952966368*apargradH_3[13]+0.1767766952966368*apargradH_3[12]+0.1767766952966368*apargradH_3[8]+0.1767766952966368*apargradH_3[7]+0.1767766952966368*apargradH_3[6]+0.1767766952966368*apargradH_3[5]+0.1767766952966368*apargradH_3[3]+0.1767766952966368*apargradH_3[2]+0.1767766952966368*apargradH_3[1]+0.1767766952966368*apargradH_3[0])*dualcurlbhat_quad[2]; + alpha_quad += -bioverJB_quad[2]/m_ *(0.1767766952966368*gradHxgradA_3[21]+0.1767766952966368*gradHxgradA_3[14]+0.1767766952966368*gradHxgradA_3[12]+0.1767766952966368*gradHxgradA_3[8]+0.1767766952966368*gradHxgradA_3[7]+0.1767766952966368*gradHxgradA_3[5]+0.1767766952966368*gradHxgradA_3[3]+0.1767766952966368*gradHxgradA_3[2]+0.1767766952966368*gradHxgradA_3[1]+0.1767766952966368*gradHxgradA_3[0]); alpha_quad += -q_/m_*(0.3535533905932737*apardot[7]+0.3535533905932737*apardot[6]+0.3535533905932737*apardot[5]+0.3535533905932737*apardot[4]+0.3535533905932737*apardot[3]+0.3535533905932737*apardot[2]+0.3535533905932737*apardot[1]+0.3535533905932737*apardot[0]); cfl = fmax(fabs(alpha_quad), fabs(cfl)) ; From f5b3806f5c1fe07fe7b4e509dac79f53aeb922ea Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Thu, 30 Apr 2026 11:12:49 -0700 Subject: [PATCH 159/181] This commit shows the exact same conservation properties as in the main branch. It was tested with this version of the tcv 3x2v regression test. The 2x2v does not conserve well particle but this is related to the poisson_perp_bias branch that was merged in. --- gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c | 633 ++++++++++++++++++ .../creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c | 4 - .../creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c | 6 +- 3 files changed, 636 insertions(+), 7 deletions(-) create mode 100644 gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c diff --git a/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c new file mode 100644 index 0000000000..a26038cf30 --- /dev/null +++ b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c @@ -0,0 +1,633 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +// Define the context of the simulation. This is basically all the globals +struct gk_app_ctx { + int cdim, vdim; // Dimensionality. + + // Geometry and magnetic field. + double B_axis; + double R0; + double Rc; + double Bv0; + + // Plasma parameters. + double me; double qe; + double mi; double qi; + double n0; double Te0; double Ti0; + + // Collisions. + double nu_frac; + + // Source parameters. + double P_SOL; + double S0; + double xSource; + double lambdaSource; + + // Grid parameters. + double Lx; // Domain size in radial direction. + double Ly; // Domain size in binormal direction. + double Lz; // Domain size along magnetic field. + double x_min; double x_max; + double y_min; double y_max; + double z_min; double z_max; + int Nx; + int Ny; + int Nz; + int Nvpar; + int Nmu; + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + int poly_order; + double vpar_max_elc; double mu_max_elc; + double vpar_max_ion; double mu_max_ion; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +// Common source density profiles. +double sourceDensity(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[2]; + double sourceFloor = 0.1; + + struct gk_app_ctx *app = ctx; + double S0 = app->S0; + double lambdaSource = app->lambdaSource; + double xSource = app->xSource; + double Lz = app->Lz; + + if (x < xSource) { + sourceFloor = 0.5; + } + if (fabs(z) < Lz/4) { + return 0.90625*S0*fmax(exp(-0.5*pow((x-xSource)/lambdaSource,2)),sourceFloor); + } else { + return 1e-10; + } +} + +// Common source temperature profile. +double sourceTemperature(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[2]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + if (x < xSource + 3 * lambdaSource) { + return 80*GKYL_ELEMENTARY_CHARGE; + } else { + return 30*GKYL_ELEMENTARY_CHARGE; + } +} + +// Initial density. +double densityInit(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + struct gk_app_ctx *app = ctx; + double Ls = app->Lz/4; + double xSource[3] = {x, y, 0}; + double effectiveSource = sourceDensity(t, xSource, ctx); + double c_ss = sqrt(5/3*sourceTemperature(t, xSource, ctx)/app->mi); + double nPeak = 4*sqrt(5)/3/c_ss*Ls*effectiveSource/2; + pcg64_random_t rng = gkyl_pcg64_init(0); + double perturb = 1e-3*(gkyl_pcg64_rand_double(&rng) - 0.5)*2.0; + if (fabs(z) <= Ls) { + return nPeak * (1 + sqrt(1-pow(z/Ls,2)))/2 * (1+perturb); + } else { + return nPeak/2 * (1+perturb); + } +} + +// Initial temperature. +double temperatureInit(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], y = xn[1], z = xn[2]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + if (x < xSource + 3*lambdaSource) { + return 80*GKYL_ELEMENTARY_CHARGE; + } else { + return 20*GKYL_ELEMENTARY_CHARGE; + } +} + +// Initial ion drift speed. +double driftSpeed(const double * GKYL_RESTRICT xn, void *ctx){ + double x = xn[0], y = xn[1], z = xn[2]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + double Lz = app->Lz; + double mi = app->mi; + double Te; + if (x < xSource + 3*lambdaSource) { + Te = 50*GKYL_ELEMENTARY_CHARGE; + } else { + Te = 20*GKYL_ELEMENTARY_CHARGE; + } + double Ls = Lz/4; + if (fabs(z) <= Ls) { + return z/Ls*sqrt(Te/mi); + } else { + return (z > 0 ? 1.0 : -1.0)*sqrt(Te/mi); + } +} + +// Radial coordinate mapping. +double Rx(const double *xc, void *ctx) +{ + return xc[0]; +} + +// Toroidal magnetic field. +double Bphi(const double *xc, void *ctx) +{ + double x = xc[0]; + struct gk_app_ctx *app = ctx; + double B_axis = app->B_axis; + double R0 = app->R0; + double R = Rx(xc, ctx); + return B_axis*R0/R; +} + +// Vertical magnetic field. +double Bvert(const double *xc, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double Bv0 = app->Bv0; + return Bv0; +} + +// Magnetic field magnitude. +double bmag(const double *xc, void *ctx) +{ + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + return sqrt(pow(Bt,2) + pow(Bv,2)); +} + +// Field line pitch. +double thetax(const double *xc, void *ctx) +{ + return asin(Bvert(xc, ctx)/bmag(xc, ctx)); +} + +// Parallel coordinate mapping. +double Zx(const double *xc, void *ctx) +{ + double theta = thetax(xc, ctx); + return xc[2]*sin(theta); +} + +double phix(const double *xc, void *ctx) +{ + double x = xc[0], y = xc[1], z = xc[2]; + struct gk_app_ctx *app = ctx; + double Rc = app->Rc; + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + + // Original Shi mapping. This mapping does not pass the right hand check. + // double theta = asin(Lp/Lt); + // return (y/sin(theta) + z*cos(theta))/Rc; // O + + // This mapping passes right hand check but does not conserve particle! + // double theta = thetax(xc, ctx); + // return (y/sin(theta) + z*cos(theta))/x; + + // Helical sheared mapping. Passes right hand check and conserves particle. + double theta = thetax(xc, ctx); + return y/Rc + (Bt * z*sin(theta))/(Bv * x); +} + +// Interface function calls. +void source_density(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = sourceDensity(t, xn, ctx); } +void source_temperature(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = sourceTemperature(t, xn, ctx); } +void density_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = densityInit(t, xn, ctx); } +void temp_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = temperatureInit(t, xn, ctx); } +void upar_ion_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = driftSpeed(xn, ctx); } +void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) +{ + // Cartesian formulation of the magnetic field. + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + double phi = phix(xc, ctx); + fout[0] = -Bt*sin(phi); + fout[1] = Bt*cos(phi); + fout[2] = Bv; +} +void zero_func(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = 0.0; } + +// Geometry evaluation functions for the gk app +void mapc2p(double t, const double *xc, double* GKYL_RESTRICT xp, void *ctx) +{ + double x = xc[0], y = xc[1], z = xc[2]; + + // Map to cylindrical (R, Z, phi) coordinates. + double R = Rx(xc, ctx); + double Z = Zx(xc, ctx); + double phi = phix(xc, ctx); + // Map to Cartesian (X, Y, Z) coordinates. + double X = R*cos(phi); + double Y = R*sin(phi); + + xp[0] = X; xp[1] = Y; xp[2] = Z; +} + +struct gk_app_ctx +create_ctx(void) +{ + int cdim = 3, vdim = 2; // Dimensionality. + + // Universal constant parameters. + double eps0 = GKYL_EPSILON0, eV = GKYL_ELEMENTARY_CHARGE; + double mp = GKYL_PROTON_MASS, me = GKYL_ELECTRON_MASS; + double qi = eV; // ion charge + double qe = -eV; // electron charge + + // Plasma parameters. Chosen based on the value of a cubic sline + // between the last TS data inside the LCFS and the probe data in + // in the far SOL, near R=0.475 m. + double AMU = 2.01410177811; + double mi = mp*AMU; // Deuterium ions. + double Te0 = 40*eV; + double Ti0 = 40*eV; + double n0 = 7e18*10; // [1/m^3] + + // Geometry and magnetic field. + double B_axis = 0.5; + double R0 = 0.85; + double a0 = 0.5; + double Lp = 2.4; // Poloidal length at x0. + double Lt = 8.0; // Toroidal length at x0. + double Rc = R0 + a0; + double B0 = B_axis*R0/Rc; + + double sintheta = Lp/Lt; + double Bv0 = B0*sintheta; + + // Source parameters. + double P_SOL = 8.1e5; + double S0 = 5.7691e23*10; // Multiplied by 10 to increase beta + double xSource = Rc - 0.05; + double lambdaSource = 0.005; + + // Collisions; + double nuFrac = 0.1; + + // Derived parameters. + double vte = sqrt(Te0/me), vti = sqrt(Ti0/mi); // Thermal speeds. + double c_s = sqrt(Te0/mi); // Sound speed. + double omega_ci = fabs(qi*B0/mi); // Ion cyclotron frequency. + double rho_s = c_s/omega_ci; // Ion sound gyroradius. + + // Box size. + double Lx = 50*rho_s; + double Ly = 100*rho_s; + double Lz = Lt; // [m] + + double x_min = Rc - Lx/2; + double x_max = Rc + Lx/2; + double y_min = -Ly/2; + double y_max = Ly/2; + double z_min = -Lz/2; + double z_max = Lz/2; + + // Grid parameters + int Nx = 8; + int Ny = 4; + int Nz = 4; + int Nvpar = 4; + int Nmu = 2; + int poly_order = 1; + + double vpar_max_elc = 4.*vte; + double mu_max_elc = 12*me*pow(vte,2)/(2*B0); + double vpar_max_ion = 4.*vti; + double mu_max_ion = 12*mi*pow(vti,2)/(2*B0); + + double t_end = 1.e-6; // End time, should terminate in 43 steps. + int num_frames = 1; + double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*100; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 20; // Maximum allowable number of consecutive small time-steps. + + struct gk_app_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .B_axis = B_axis, + .R0 = R0, + .Rc = Rc, + .Bv0 = Bv0, + .Lx = Lx, + .Ly = Ly, + .Lz = Lz, + .x_min = x_min, .x_max = x_max, + .y_min = y_min, .y_max = y_max, + .z_min = z_min, .z_max = z_max, + + .me = me, .qe = qe, + .mi = mi, .qi = qi, + .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, + + .nu_frac = nuFrac, + + .P_SOL = P_SOL, + .S0 = S0, + .xSource = xSource, + .lambdaSource = lambdaSource, + + .Nx = Nx, + .Ny = Ny, + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .cells = {Nx, Ny, Nz, Nvpar, Nmu}, + .poly_order = poly_order, + .vpar_max_elc = vpar_max_elc, .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, .mu_max_ion = mu_max_ion, + + .t_end = t_end, .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + + +int +main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_app_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; d Date: Thu, 30 Apr 2026 11:47:32 -0700 Subject: [PATCH 160/181] Remove the bias from Apar and Apardot solvers as they do not need to be smooth along z and fix a merging bug. --- gyrokinetic/apps/gk_field_2x3x.c | 56 +++----------------------------- 1 file changed, 4 insertions(+), 52 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 8f0c20ba4c..37223b92a6 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -380,54 +380,6 @@ gk_field_em_rhs_none(gkyl_gyrokinetic_app *app, struct gk_field *field, const st // Do nothing. } -static void -gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ - struct timespec wst = gkyl_wall_clock(); - - gkyl_fem_poisson_perp_update_lhs(field->fem_apardot_solver, field->lapWeightAmpere, field->dApartdtSlvr_kSq); - gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); - gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); - - field->invert_flr(app, field, field->apardot); - - app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); -} - -static void -gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field){ - struct timespec wst = gkyl_wall_clock(); - - gkyl_fem_poisson_perp_set_rhs(field->fem_apar_solver, field->currentDens); - gkyl_fem_poisson_perp_solve(field->fem_apar_solver, field->apar); - - // Smooth along z. - // gk_field_fem_projection_par(app, field, field->apar, field->apar_smooth_aux); - // gkyl_array_copy_range(field->apar, field->apar_smooth_aux, &app->local_ext); - - field->invert_flr(app, field, field->apar); - - app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); -} - -static void -gk_field_ampere_solve_none(gkyl_gyrokinetic_app *app, struct gk_field *field){ - // Do nothing. -} - -static void -gk_field_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) -{ - gk_field_accumulate_current_dens_dot(app, field, rhs_in); - gk_field_accumulate_ohms_kSq(app, field, f_in); - gk_field_ohm_solve(app, field); -} - -static void -gk_field_em_rhs_none(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct gkyl_array *f_in[], struct gkyl_array *rhs_in[]) -{ - // Do nothing. -} - static void gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) { @@ -674,10 +626,10 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) } // FEM solver for Ampere equation (solved at IC only). f->fem_apar_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->ampere_bcs, f->info.bias_line_list, f->lapWeightAmpere, NULL, app->use_gpu); + &f->ampere_bcs, 0, f->lapWeightAmpere, NULL, app->use_gpu); // FEM solver for Ohm's law (evolves d(Apart)/dt). f->fem_apardot_solver = gkyl_fem_poisson_perp_new(&app->local, &app->grid, app->basis, - &f->ampere_bcs, f->info.bias_line_list, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); + &f->ampere_bcs, 0, f->lapWeightAmpere, f->dApartdtSlvr_kSq, app->use_gpu); // We have to advance the updater once to be able to update the kSq later. gkyl_fem_poisson_perp_set_rhs(f->fem_apardot_solver, f->currentDensdot); @@ -685,8 +637,8 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // FEM smoother for Aparallel. f->fem_parproj_ampere_bc = GKYL_FEM_PARPROJ_NONE; - f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->basis, - f->fem_parproj_ampere_bc, 0, 0, app->use_gpu); + f->fem_apar_parproj = gkyl_fem_parproj_new(&app->global, &app->grid, + &app->basis, f->fem_parproj_ampere_bc, 0, 0, 0, app->use_gpu); f->ampere_solve = gk_field_ampere_solve_enabled; f->em_rhs_func = f->info.is_apar_static ? gk_field_em_rhs_none : gk_field_em_rhs_enabled; From 9d78ea504d722135780ff95fef261d58c114495d Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Thu, 30 Apr 2026 14:49:09 -0700 Subject: [PATCH 161/181] minimize diff with poisson_perp_bias --- gyrokinetic/apps/gk_field.c | 15 +++++---------- gyrokinetic/apps/gk_field_2x3x.c | 12 ++++++------ 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 84c4562116..3d5ff9c209 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -301,11 +301,12 @@ gk_field_energy_new(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->is_first_energy_write_call = true; f->calc_energy_func = gk_field_calc_energy_enabled; - f->calc_energy_dt_func = gk_field_calc_energy_dt_none; f->calc_apar_energy_dt_func = gk_field_calc_energy_dt_none; - if (f->info.time_rate_diagnostics) + + if (f->info.time_rate_diagnostics) { gk_field_time_rate_diags_new(app, f); + } // Factors for ES energy. f->es_energy_fac = mkarr(app->use_gpu, (2*(app->cdim/3)+1)*app->basis.num_basis, app->local_ext.volume); @@ -369,13 +370,6 @@ gk_field_energy_release(const struct gkyl_gyrokinetic_app *app, struct gk_field } } -// Related to enforcing parallel Vlasov boundary conditions -void -gk_field_enforce_parallel_bc_disabled(const gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *finout) -{ - // Do nothing. -} - // Initialize field object. struct gk_field* gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) @@ -506,7 +500,8 @@ gk_field_calc_apar_energy_dt(gkyl_gyrokinetic_app *app, const struct gk_field *f field->calc_apar_energy_dt_func(app, field, dt, energy_reduced); } -void gk_field_accumulate_rho_c_adiabatic(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gk_species *s, struct gkyl_array **bflux) +void gk_field_accumulate_rho_c_adiabatic(gkyl_gyrokinetic_app *app, struct gk_field *field, + struct gk_species *s, struct gkyl_array **bflux) { // Gyroaverage the density if needed. s->gyroaverage(app, s, s->m0.marr, s->m0_gyroavg); diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 37223b92a6..0a26ee77b8 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -332,7 +332,7 @@ gk_field_rhs_poisson_perp_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field field->invert_flr(app, field, field->phi_smooth); } -static void +static void gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ struct timespec wst = gkyl_wall_clock(); @@ -589,12 +589,12 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) } // Potential smoothing (in z) updater - enum gkyl_fem_parproj_bc_type fem_parproj_bc = GKYL_FEM_PARPROJ_NONE; - for (int d=0; dnum_periodic_dir; ++d) - if (app->periodic_dirs[d] == app->cdim-1) fem_parproj_bc = GKYL_FEM_PARPROJ_PERIODIC; + enum gkyl_fem_parproj_bc_type fem_parproj_bc = GKYL_FEM_PARPROJ_NONE; + for (int d=0; dnum_periodic_dir; ++d) + if (app->periodic_dirs[d] == app->cdim-1) fem_parproj_bc = GKYL_FEM_PARPROJ_PERIODIC; - f->fem_parproj = gkyl_fem_parproj_new(&app->global, &app->grid, &app->basis, - fem_parproj_bc, 0, 0, 0, app->use_gpu); + f->fem_parproj = gkyl_fem_parproj_new(&app->global, &app->grid, &app->basis, + fem_parproj_bc, 0, 0, 0, app->use_gpu); f->fem_projection_par_rho_func = gk_field_fem_projection_par; f->fem_projection_par_phi_func = gk_field_fem_projection_par; From c4a9de5d3a1317b88257eb354e62da6638dd9e09 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Fri, 1 May 2026 15:08:54 -0700 Subject: [PATCH 162/181] cosmetics --- gyrokinetic/apps/gyrokinetic.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index b0be35869d..43c8381898 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1266,7 +1266,6 @@ gkyl_gyrokinetic_app_calc_field_energy(gkyl_gyrokinetic_app* app, double tm) } } - void gkyl_gyrokinetic_app_write_field_energy(gkyl_gyrokinetic_app* app) { From 31b08aaacb062b7e0e9e447eaee59d1de0ca8609 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 6 May 2026 12:17:57 -0400 Subject: [PATCH 163/181] rename the surface flux solver em_star to complete_em and reset the collisionless priv.h file since the EM and ES surface flux kernels are merged now. --- gyrokinetic/apps/gk_species_collisionless.c | 6 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 +- .../zero/gkyl_gk_collisionless_flux_priv.h | 375 ++++++++---------- 3 files changed, 164 insertions(+), 219 deletions(-) diff --git a/gyrokinetic/apps/gk_species_collisionless.c b/gyrokinetic/apps/gk_species_collisionless.c index d07f9c254e..2c78a9754f 100644 --- a/gyrokinetic/apps/gk_species_collisionless.c +++ b/gyrokinetic/apps/gk_species_collisionless.c @@ -28,7 +28,7 @@ gk_species_collisionless_flux_em_enabled(gkyl_gyrokinetic_app *app, struct gk_sp struct gk_collisionless *gkcls, const struct gkyl_array *fin) { // Compute the surface expansion of the phase space flux for ES + Apar contributions. - gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_em_star_op, + gkyl_gk_collisionless_flux_surf(gkcls->surf_flux_em_complete_op, &app->local, &species->local, &app->local_ext, &species->local_ext, species->gyro_phi, species->gyro_apar, species->gyro_apardot, fin, gkcls->flux_surf, species->cflrate); } @@ -202,7 +202,7 @@ gk_species_collisionless_init(struct gkyl_gyrokinetic_app *app, struct gk_specie if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) { // Set up ES + Apar contributions to flux and solver. complete_em = true; - gkcls->surf_flux_em_star_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, + gkcls->surf_flux_em_complete_op = gkyl_gk_collisionless_flux_new(&gks->grid, &app->basis, &gks->basis, gks->info.charge, gks->info.mass, gkcls->collisionless_id, gkcls->no_by, complete_em, app->gk_geom, app->dg_geom, app->gk_dg_geom, gks->vel_map, bctype_conf, app->use_gpu); gkcls->slvr_em_complete = gkyl_dg_updater_gyrokinetic_new(&gks->grid, &app->basis, &gks->basis, @@ -255,7 +255,7 @@ gk_species_collisionless_release(const struct gkyl_gyrokinetic_app *app, const s gkyl_dg_updater_gyrokinetic_release(gkcls->slvr); if (gkcls->collisionless_id == GKYL_GK_COLLISIONLESS_EM) { - gkyl_gk_collisionless_flux_release(gkcls->surf_flux_em_star_op); + gkyl_gk_collisionless_flux_release(gkcls->surf_flux_em_complete_op); gkyl_dg_updater_gyrokinetic_release(gkcls->slvr_em_complete); } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 85010558f0..f8a468b650 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -285,7 +285,7 @@ struct gk_collisionless { struct gkyl_array *flux_surf; // Array for surface phase space flux struct gkyl_array *flux_surf_ho; // Host array for surface phase space flux struct gkyl_gk_collisionless_flux *surf_flux_op; // Collisionless fluxes. - struct gkyl_gk_collisionless_flux *surf_flux_em_star_op; // EM collisionless fluxes without Apardot contribution. + struct gkyl_gk_collisionless_flux *surf_flux_em_complete_op; // EM collisionless fluxes without Apardot contribution. gkyl_dg_updater_gyrokinetic *slvr; // Collisionless solver. gkyl_dg_updater_gyrokinetic *slvr_em_complete; // EM without Apardot contribution. diff --git a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h index c9e42d4c2e..d01adb8cb4 100644 --- a/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h +++ b/gyrokinetic/zero/gkyl_gk_collisionless_flux_priv.h @@ -36,10 +36,7 @@ static struct { int vdim[3]; } cv_index[] = { // for use in kernel tables typedef struct { gk_collisionless_flux_surf_t kernels[3]; } gkyl_gk_collisionless_flux_surf_kern_list; -typedef struct { gkyl_gk_collisionless_flux_surf_kern_list kernels_list[4]; } gkyl_gk_collisionless_flux_surf_kern_table; - typedef struct { gk_collisionless_flux_surfvpar_t kernels[3]; } gkyl_gk_collisionless_flux_surfvpar_kern_list; -typedef struct { gkyl_gk_collisionless_flux_surfvpar_kern_list kernels_list[4]; } gkyl_gk_collisionless_flux_surfvpar_kern_table; struct gkyl_gk_collisionless_flux { struct gkyl_rect_grid phase_grid; // Phase space grid for cell spacing and cell center @@ -50,9 +47,7 @@ struct gkyl_gk_collisionless_flux { gk_collisionless_flux_surf_t flux_surf_edge_up[GKYL_MAX_CDIM]; // kernel for computing surface expansion of phase space flux. // at upper configuration space edge gk_collisionless_flux_surfvpar_t flux_surfvpar[1]; // kernel for computing surface expansion of phase space flux alpha - double charge, mass; - bool is_em; // Whether it is electromagnetic. const struct gk_geometry *gk_geom; // Pointer to geometry struct. const struct gkyl_dg_geom *dg_geom; // Pointer to vol dg geometry struct. const struct gkyl_gk_dg_geom *gk_dg_geom; // Pointer to vol gk dg geometry struct. @@ -63,83 +58,69 @@ struct gkyl_gk_collisionless_flux { }; // -// Electrostatic serendipity surface kernels. +// Serendipity surface kernels. // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfx_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_surfx_kernels[] = { + { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfx_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_surfz_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_edge_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_surfvpar_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_surfvpar_kernels[] = { + { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_surfvpar_3x2v_ser_p1, NULL }, // 3 }; // @@ -148,68 +129,56 @@ static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfx_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_surfx_kernels[] = { + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels = { - .kernels_list= { - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux flux edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; @@ -218,171 +187,147 @@ static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flu // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfx_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_surfx_kernels[] = { + { NULL, gk_collisionless_flux_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfx_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfz_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_edge_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha surface expansions in vpar (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surfvpar_kern_table ser_gk_collisionless_flux_no_by_surfvpar_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surfvpar_kern_list ser_gk_collisionless_flux_no_by_surfvpar_kernels[] = { + { NULL, gk_collisionless_flux_surfvpar_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_surfvpar_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_surfvpar_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_surfvpar_3x2v_ser_p1, NULL }, // 3 }; + // // Kernels used at multiblock boundaries. // // Gyrokinetic phase space flux alpha surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[] = { + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in x (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels = { - .kernels_list = { - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 - { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[] = { + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x1v_ser_p1, NULL }, // 0 + { NULL, gk_collisionless_flux_multib_boundary_edge_surfx_1x2v_ser_p1, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfx_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in y (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_2x2v_ser_p1, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfy_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_surfz_3x2v_ser_p1, NULL }, // 3 }; // Gyrokinetic phase space flux alpha edge surface expansions in z (Serendipity kernels) GKYL_CU_D -static const gkyl_gk_collisionless_flux_surf_kern_table ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels = { - .kernels_list = { - { NULL, NULL, NULL }, // 0 - { NULL, NULL, NULL }, // 1 - { NULL, NULL, NULL }, // 2 - { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 - }, +static const gkyl_gk_collisionless_flux_surf_kern_list ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[] = { + { NULL, NULL, NULL }, // 0 + { NULL, NULL, NULL }, // 1 + { NULL, NULL, NULL }, // 2 + { NULL, gk_collisionless_flux_no_by_multib_boundary_edge_surfz_3x2v_ser_p1, NULL }, // 3 }; + GKYL_CU_D static gk_collisionless_flux_surf_t choose_gk_collisionless_flux_surf_conf_kern(int dir, int cdim, int vdim, int poly_order, enum gkyl_gyrokinetic_bc_type bc) { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -394,21 +339,21 @@ choose_gk_collisionless_flux_edge_surf_conf_kern(int dir, int cdim, int vdim, in { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -418,7 +363,7 @@ GKYL_CU_D static gk_collisionless_flux_surfvpar_t choose_gk_collisionless_flux_surf_vpar_kern(int cdim, int vdim, int poly_order) { - return ser_gk_collisionless_flux_surfvpar_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } GKYL_CU_D @@ -427,21 +372,21 @@ choose_gk_collisionless_flux_no_by_surf_conf_kern(int dir, int cdim, int vdim, i { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_no_by_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -453,21 +398,21 @@ choose_gk_collisionless_flux_no_by_edge_surf_conf_kern(int dir, int cdim, int vd { if (bc == GKYL_BC_GK_SKIP) { if (dir == 0) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_multib_boundary_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } else { if (dir == 0) - return ser_gk_collisionless_flux_no_by_edge_surfx_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfx_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 1) - return ser_gk_collisionless_flux_no_by_edge_surfy_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfy_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else if (dir == 2) - return ser_gk_collisionless_flux_no_by_edge_surfz_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_edge_surfz_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; else return NULL; } @@ -477,7 +422,7 @@ GKYL_CU_D static gk_collisionless_flux_surfvpar_t choose_gk_collisionless_flux_no_by_surf_vpar_kern(int cdim, int vdim, int poly_order) { - return ser_gk_collisionless_flux_no_by_surfvpar_kernels.kernels_list[cv_index[cdim].vdim[vdim]].kernels[poly_order]; + return ser_gk_collisionless_flux_no_by_surfvpar_kernels[cv_index[cdim].vdim[vdim]].kernels[poly_order]; } #ifdef GKYL_HAVE_CUDA @@ -502,4 +447,4 @@ void gkyl_gk_collisionless_flux_surf_cu(struct gkyl_gk_collisionless_flux *up, const struct gkyl_range *conf_ext_range, const struct gkyl_range *phase_ext_range, const struct gkyl_array *phi, const struct gkyl_array *apar, const struct gkyl_array *apardot, const struct gkyl_array* fin, struct gkyl_array* flux_surf, struct gkyl_array* cflrate); -#endif +#endif \ No newline at end of file From 56acd04e5cf527bf18350c59ebd6060b38bf9390 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 6 May 2026 14:44:59 -0400 Subject: [PATCH 164/181] add standard naming of regression test --- gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c | 2 +- gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c index 7893e230c4..8e5aeddfb2 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_1x2v_p1.c @@ -393,7 +393,6 @@ int main(int argc, char **argv) // GK app struct gkyl_gk app_inp = { - .name = "gk_em_alfven_1x2v_p1", .cfl_frac = 1.0, .cfl_frac_omegaH = 1.0, @@ -427,6 +426,7 @@ int main(int argc, char **argv) }, }; + snprintf(app_inp.name, sizeof(app_inp.name), "%s", app_args.app_name); struct gkyl_gyrokinetic_run_inp run_inp = { .app_inp = app_inp, .time_stepping = { diff --git a/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c index 2e35daa53d..53c9268d12 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_2x2v_p1.c @@ -388,7 +388,6 @@ int main(int argc, char **argv) // GK app struct gkyl_gk app_inp = { - .name = "gk_em_alfven_2x2v_p1", .cfl_frac = 1.0, .cfl_frac_omegaH = 1.0, @@ -421,6 +420,7 @@ int main(int argc, char **argv) }, }; + snprintf(app_inp.name, sizeof(app_inp.name), "%s", app_args.app_name); struct gkyl_gyrokinetic_run_inp run_inp = { .app_inp = app_inp, .time_stepping = { diff --git a/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c b/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c index b22a61c190..4e03f28e75 100644 --- a/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_em_alfven_3x2v_p1.c @@ -398,7 +398,6 @@ int main(int argc, char **argv) // GK app struct gkyl_gk app_inp = { - .name = "gk_em_alfven_3x2v_p1", .cfl_frac = 1.0, .cfl_frac_omegaH = 1.0, @@ -430,7 +429,8 @@ int main(int argc, char **argv) .comm = comm, }, }; - + + snprintf(app_inp.name, sizeof(app_inp.name), "%s", app_args.app_name); struct gkyl_gyrokinetic_run_inp run_inp = { .app_inp = app_inp, .time_stepping = { From ec901ae981517cb4884e830ee23f541b068023d7 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Sun, 17 May 2026 14:24:10 -0400 Subject: [PATCH 165/181] Add the helical EM 2x2v regression test, this passes the particle conservation check. The helical EM 3x2v case is failing at conserving particles as soon as some EM activity is triggered regardless if it is induction related or fluctuation itself. --- gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c | 638 ++++++++++++++++++ 1 file changed, 638 insertions(+) create mode 100644 gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c diff --git a/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c new file mode 100644 index 0000000000..9339022279 --- /dev/null +++ b/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c @@ -0,0 +1,638 @@ +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include + +// Define the context of the simulation. This is basically all the globals +struct gk_app_ctx { + int cdim, vdim; // Dimensionality. + + // Geometry and magnetic field. + double B_axis; + double R0; + double Rc; + double Bv0; + + // Plasma parameters. + double me; double qe; + double mi; double qi; + double n0; double Te0; double Ti0; + + // Collisions. + double nu_frac; + + // Source parameters. + double P_SOL; + double S0; + double xSource; + double lambdaSource; + + // Grid parameters. + double Lx; // Domain size in radial direction. + double Lz; // Domain size along magnetic field. + double x_min; double x_max; + double z_min; double z_max; + int Nx; + int Nz; + int Nvpar; + int Nmu; + int cells[GKYL_MAX_DIM]; // Number of cells in all directions. + int poly_order; + double vpar_max_elc; double mu_max_elc; + double vpar_max_ion; double mu_max_ion; + + double t_end; // End time. + int num_frames; // Number of output frames. + double write_phase_freq; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num; // Number of integrated diagnostics computations (=INT_MAX for every step). + double dt_failure_tol; // Minimum allowable fraction of initial time-step. + int num_failures_max; // Maximum allowable number of consecutive small time-steps. +}; + +// Common source density profiles. +double sourceDensity(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[1]; + double sourceFloor = 0.1; + + struct gk_app_ctx *app = ctx; + double S0 = app->S0; + double lambdaSource = app->lambdaSource; + double xSource = app->xSource; + double Lz = app->Lz; + + if (x < xSource) { + sourceFloor = 0.5; + } + if (fabs(z) < Lz/4) { + return 0.90625*S0*fmax(exp(-0.5*pow((x-xSource)/lambdaSource,2)),sourceFloor); + } else { + return 1e-10; + } +} + +// Common source temperature profile. +double sourceTemperature(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[1]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + if (x < xSource + 3 * lambdaSource) { + return 80*GKYL_ELEMENTARY_CHARGE; + } else { + return 30*GKYL_ELEMENTARY_CHARGE; + } +} + +// Initial density. +double densityInit(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[1]; + struct gk_app_ctx *app = ctx; + double Ls = app->Lz/4; + double xSource[2] = {x, 0}; + double effectiveSource = sourceDensity(t, xSource, ctx); + double c_ss = sqrt(5/3*sourceTemperature(t, xSource, ctx)/app->mi); + double nPeak = 4*sqrt(5)/3/c_ss*Ls*effectiveSource/2; + pcg64_random_t rng = gkyl_pcg64_init(0); + double perturb = 1e-3*(gkyl_pcg64_rand_double(&rng) - 0.5)*2.0; + if (fabs(z) <= Ls) { + return nPeak * (1 + sqrt(1-pow(z/Ls,2)))/2 * (1+perturb); + } else { + return nPeak/2 * (1+perturb); + } +} + +// Initial temperature. +double temperatureInit(double t, const double * GKYL_RESTRICT xn, void *ctx) +{ + double x = xn[0], z = xn[1]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + if (x < xSource + 3*lambdaSource) { + return 80*GKYL_ELEMENTARY_CHARGE; + } else { + return 20*GKYL_ELEMENTARY_CHARGE; + } +} + +// Initial ion drift speed. +double driftSpeed(const double * GKYL_RESTRICT xn, void *ctx){ + double x = xn[0], z = xn[1]; + struct gk_app_ctx *app = ctx; + double xSource = app->xSource; + double lambdaSource = app->lambdaSource; + double Lz = app->Lz; + double mi = app->mi; + double Te; + if (x < xSource + 3*lambdaSource) { + Te = 50*GKYL_ELEMENTARY_CHARGE; + } else { + Te = 20*GKYL_ELEMENTARY_CHARGE; + } + double Ls = Lz/4; + if (fabs(z) <= Ls) { + return z/Ls*sqrt(Te/mi); + } else { + return (z > 0 ? 1.0 : -1.0)*sqrt(Te/mi); + } +} + +void +diffusion_D_func(double t, const double* GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void* ctx) +{ + struct sheath_ctx *app = ctx; + + fout[0] = 0.5; // Diffusivity [m^2/s]. +} + +// Radial coordinate mapping. +double Rx(const double *xc, void *ctx) +{ + return xc[0]; +} + +// Toroidal magnetic field. +double Bphi(const double *xc, void *ctx) +{ + double x = xc[0]; + struct gk_app_ctx *app = ctx; + double B_axis = app->B_axis; + double R0 = app->R0; + double R = Rx(xc, ctx); + return B_axis*R0/R; +} + +// Vertical magnetic field. +double Bvert(const double *xc, void *ctx) +{ + struct gk_app_ctx *app = ctx; + double Bv0 = app->Bv0; + return Bv0; +} + +// Magnetic field magnitude. +double bmag(const double *xc, void *ctx) +{ + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + return sqrt(pow(Bt,2) + pow(Bv,2)); +} + +// Field line pitch. +double thetax(const double *xc, void *ctx) +{ + return asin(Bvert(xc, ctx)/bmag(xc, ctx)); +} + +// Parallel coordinate mapping. +double Zx(const double *xc, void *ctx) +{ + double theta = thetax(xc, ctx); + return xc[2]*sin(theta); +} + +double phix(const double *xc, void *ctx) +{ + double x = xc[0], y = xc[1], z = xc[2]; + struct gk_app_ctx *app = ctx; + double Rc = app->Rc; + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + double theta = thetax(xc, ctx); + + return y/Rc + (Bt * z*sin(theta))/(Bv * x); +} + +// Interface function calls. +void source_density(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = sourceDensity(t, xn, ctx); } +void source_temperature(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = sourceTemperature(t, xn, ctx); } +void density_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = densityInit(t, xn, ctx); } +void temp_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = temperatureInit(t, xn, ctx); } +void upar_ion_init(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = driftSpeed(xn, ctx); } +void bfield_func(double t, const double *xc, double* GKYL_RESTRICT fout, void *ctx) +{ + // Cartesian formulation of the magnetic field. + double Bt = Bphi(xc, ctx); + double Bv = Bvert(xc, ctx); + double phi = phix(xc, ctx); + fout[0] = -Bt*sin(phi); + fout[1] = Bt*cos(phi); + fout[2] = Bv; +} +void zero_func(double t, const double * GKYL_RESTRICT xn, double* GKYL_RESTRICT fout, void *ctx) +{ fout[0] = 0.0; } + +// Geometry evaluation functions for the gk app +void mapc2p(double t, const double *xc, double* GKYL_RESTRICT xp, void *ctx) +{ + double x = xc[0], y = xc[1], z = xc[2]; + + // Map to cylindrical (R, Z, phi) coordinates. + double R = Rx(xc, ctx); + double Z = Zx(xc, ctx); + double phi = phix(xc, ctx); + // Map to Cartesian (X, Y, Z) coordinates. + double X = R*cos(phi); + double Y = R*sin(phi); + + xp[0] = X; xp[1] = Y; xp[2] = Z; +} + +struct gk_app_ctx +create_ctx(void) +{ + int cdim = 2, vdim = 2; // Dimensionality. + + // Universal constant parameters. + double eps0 = GKYL_EPSILON0, eV = GKYL_ELEMENTARY_CHARGE; + double mp = GKYL_PROTON_MASS, me = GKYL_ELECTRON_MASS; + double qi = eV; // ion charge + double qe = -eV; // electron charge + + // Plasma parameters. Chosen based on the value of a cubic sline + // between the last TS data inside the LCFS and the probe data in + // in the far SOL, near R=0.475 m. + double AMU = 2.01410177811; + double mi = mp*AMU; // Deuterium ions. + double Te0 = 40*eV; + double Ti0 = 40*eV; + double n0 = 7e18*10; // [1/m^3] + + // Geometry and magnetic field. + double B_axis = 0.5; + double R0 = 0.85; + double a0 = 0.5; + double Lp = 2.4; // Poloidal length at x0. + double Lt = 8.0; // Toroidal length at x0. + double Rc = R0 + a0; + double B0 = B_axis*R0/Rc; + + double sintheta = Lp/Lt; + double Bv0 = B0*sintheta; + + // Source parameters. + double P_SOL = 8.1e5; + double S0 = 5.7691e23*10; // Multiplied by 10 to increase beta + double xSource = Rc - 0.05; + double lambdaSource = 0.005; + + // Collisions; + double nuFrac = 0.1; + + // Derived parameters. + double vte = sqrt(Te0/me), vti = sqrt(Ti0/mi); // Thermal speeds. + double c_s = sqrt(Te0/mi); // Sound speed. + double omega_ci = fabs(qi*B0/mi); // Ion cyclotron frequency. + double rho_s = c_s/omega_ci; // Ion sound gyroradius. + + // Box size. + double Lx = 50*rho_s; + double Lz = Lt; // [m] + + double x_min = Rc - Lx/2; + double x_max = Rc + Lx/2; + double z_min = -Lz/2; + double z_max = Lz/2; + + // Grid parameters + int Nx = 8; + int Nz = 4; + int Nvpar = 4; + int Nmu = 2; + int poly_order = 1; + + double vpar_max_elc = 4.*vte; + double mu_max_elc = 12*me*pow(vte,2)/(2*B0); + double vpar_max_ion = 4.*vti; + double mu_max_ion = 12*mi*pow(vti,2)/(2*B0); + + double t_end = 1.e-6; // End time, should terminate in 43 steps. + int num_frames = 1; + double write_phase_freq = 1.0; // Frequency of writing phase-space diagnostics (as a fraction of num_frames). + int int_diag_calc_num = num_frames*100; + double dt_failure_tol = 1.0e-4; // Minimum allowable fraction of initial time-step. + int num_failures_max = 20; // Maximum allowable number of consecutive small time-steps. + + struct gk_app_ctx ctx = { + .cdim = cdim, + .vdim = vdim, + .B_axis = B_axis, + .R0 = R0, + .Rc = Rc, + .Bv0 = Bv0, + .Lx = Lx, + .Lz = Lz, + .x_min = x_min, .x_max = x_max, + .z_min = z_min, .z_max = z_max, + + .me = me, .qe = qe, + .mi = mi, .qi = qi, + .n0 = n0, .Te0 = Te0, .Ti0 = Ti0, + + .nu_frac = nuFrac, + + .P_SOL = P_SOL, + .S0 = S0, + .xSource = xSource, + .lambdaSource = lambdaSource, + + .Nx = Nx, + .Nz = Nz, + .Nvpar = Nvpar, + .Nmu = Nmu, + .cells = {Nx, Nz, Nvpar, Nmu}, + .poly_order = poly_order, + .vpar_max_elc = vpar_max_elc, .mu_max_elc = mu_max_elc, + .vpar_max_ion = vpar_max_ion, .mu_max_ion = mu_max_ion, + + .t_end = t_end, .num_frames = num_frames, + .write_phase_freq = write_phase_freq, + .int_diag_calc_num = int_diag_calc_num, + .dt_failure_tol = dt_failure_tol, + .num_failures_max = num_failures_max, + }; + return ctx; +} + + +int +main(int argc, char **argv) +{ + struct gkyl_app_args app_args = parse_app_args(argc, argv); + +#ifdef GKYL_HAVE_MPI + if (app_args.use_mpi) MPI_Init(&argc, &argv); +#endif + + if (app_args.trace_mem) { + gkyl_cu_dev_mem_debug_set(true); + gkyl_mem_debug_set(true); + } + + struct gk_app_ctx ctx = create_ctx(); // Context for init functions. + + int cells_x[ctx.cdim], cells_v[ctx.vdim]; + for (int d=0; d Date: Sun, 17 May 2026 15:23:46 -0400 Subject: [PATCH 166/181] ensure coherent naming in the helical 3x2v tests and activate EM by default. Both aren't conserving particles with EM for now... --- gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c | 50 +++++++++++------- .../creg/rt_gk_helical_zvert_3x2v_p1.c | 51 ++++++++++--------- 2 files changed, 59 insertions(+), 42 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c index a26038cf30..a605105045 100644 --- a/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c @@ -18,9 +18,10 @@ struct gk_app_ctx { // Geometry and magnetic field. double B_axis; + double R_axis; double R0; - double Rc; double Bv0; + int n; // Plasma parameters. double me; double qe; @@ -164,9 +165,9 @@ double Bphi(const double *xc, void *ctx) double x = xc[0]; struct gk_app_ctx *app = ctx; double B_axis = app->B_axis; - double R0 = app->R0; + double R_axis = app->R_axis; double R = Rx(xc, ctx); - return B_axis*R0/R; + return B_axis*R_axis/R; } // Vertical magnetic field. @@ -174,11 +175,14 @@ double Bvert(const double *xc, void *ctx) { struct gk_app_ctx *app = ctx; double Bv0 = app->Bv0; - return Bv0; + int n = app->n; + double R0 = app->R0; + double R = Rx(xc, ctx); + return Bv0 * pow(R/R0, n); } // Magnetic field magnitude. -double bmag(const double *xc, void *ctx) +double Bmag(const double *xc, void *ctx) { double Bt = Bphi(xc, ctx); double Bv = Bvert(xc, ctx); @@ -188,7 +192,7 @@ double bmag(const double *xc, void *ctx) // Field line pitch. double thetax(const double *xc, void *ctx) { - return asin(Bvert(xc, ctx)/bmag(xc, ctx)); + return asin(Bvert(xc, ctx)/Bmag(xc, ctx)); } // Parallel coordinate mapping. @@ -202,21 +206,21 @@ double phix(const double *xc, void *ctx) { double x = xc[0], y = xc[1], z = xc[2]; struct gk_app_ctx *app = ctx; - double Rc = app->Rc; + double R_axis = app->R_axis; double Bt = Bphi(xc, ctx); double Bv = Bvert(xc, ctx); // Original Shi mapping. This mapping does not pass the right hand check. // double theta = asin(Lp/Lt); - // return (y/sin(theta) + z*cos(theta))/Rc; // O + // return (y/sin(theta) + z*cos(theta))/R0; // O // This mapping passes right hand check but does not conserve particle! // double theta = thetax(xc, ctx); // return (y/sin(theta) + z*cos(theta))/x; - // Helical sheared mapping. Passes right hand check and conserves particle. + // Helical sheared mapping. Passes right hand check and conserves particle (ES). double theta = thetax(xc, ctx); - return y/Rc + (Bt * z*sin(theta))/(Bv * x); + return y/R_axis + (Bt * z*sin(theta))/(Bv * x); } // Interface function calls. @@ -281,12 +285,14 @@ create_ctx(void) // Geometry and magnetic field. double B_axis = 0.5; - double R0 = 0.85; + double R_axis = 0.85; double a0 = 0.5; double Lp = 2.4; // Poloidal length at x0. double Lt = 8.0; // Toroidal length at x0. - double Rc = R0 + a0; - double B0 = B_axis*R0/Rc; + int shear = -2; + double R0 = R_axis + a0; + double B0 = B_axis*R_axis/R0; + int n = shear + 2; double sintheta = Lp/Lt; double Bv0 = B0*sintheta; @@ -294,7 +300,7 @@ create_ctx(void) // Source parameters. double P_SOL = 8.1e5; double S0 = 5.7691e23*10; // Multiplied by 10 to increase beta - double xSource = Rc - 0.05; + double xSource = R0 - 0.05; double lambdaSource = 0.005; // Collisions; @@ -311,8 +317,8 @@ create_ctx(void) double Ly = 100*rho_s; double Lz = Lt; // [m] - double x_min = Rc - Lx/2; - double x_max = Rc + Lx/2; + double x_min = R0 - Lx/2; + double x_max = R0 + Lx/2; double y_min = -Ly/2; double y_max = Ly/2; double z_min = -Lz/2; @@ -342,9 +348,10 @@ create_ctx(void) .cdim = cdim, .vdim = vdim, .B_axis = B_axis, + .R_axis = R_axis, .R0 = R0, - .Rc = Rc, .Bv0 = Bv0, + .n = n, .Lx = Lx, .Ly = Ly, .Lz = Lz, @@ -429,7 +436,7 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES, + .type = GKYL_GK_COLLISIONLESS_EM, }, .collisions = { @@ -505,7 +512,7 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES, + .type = GKYL_GK_COLLISIONLESS_EM, }, .collisions = { @@ -566,6 +573,11 @@ main(int argc, char **argv) { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, }, + .ampere_bcs = { + { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, + { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, + }, + .mu0 = GKYL_MU0, .time_rate_diagnostics = true, }; diff --git a/gyrokinetic/creg/rt_gk_helical_zvert_3x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zvert_3x2v_p1.c index b5a364a3f8..c6d306fa15 100644 --- a/gyrokinetic/creg/rt_gk_helical_zvert_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_helical_zvert_3x2v_p1.c @@ -21,11 +21,12 @@ struct gk_app_ctx { int cdim, vdim; // Dimensionality. // Geometry and magnetic field. - double R0; + double R_axis; double a0; - double B0; + double B_axis; double Bvx0; double x0; + double R0; double H; int n; // Exponent for vertical magnetic field profile. @@ -175,22 +176,20 @@ double Bphi(const double *xc, void *ctx) { double x = xc[0]; struct gk_app_ctx *app = ctx; - double B0 = app->B0; - double R0 = app->R0; - + double B_axis = app->B_axis; + double R_axis = app->R_axis; double R = Rx(xc, ctx); - return B0*R0/R; + return B_axis*R_axis/R; } double Bvert(const double *xc, void *ctx) { struct gk_app_ctx *app = ctx; double Bvx0 = app->Bvx0; - double x0 = app->x0; int n = app->n; + double R0 = app->R0; double R = Rx(xc, ctx); - - return Bvx0 * pow(R/x0, n); + return Bvx0 * pow(R/R0, n); } double Bmag(const double *xc, void *ctx) @@ -205,11 +204,11 @@ double phix(const double *xc, void *ctx) { double x = xc[0], y = xc[1], z = xc[2]; struct gk_app_ctx *app = ctx; - double R0 = app->R0; + double R_axis = app->R_axis; double Lz = app->Lz; double Bt = Bphi(xc, ctx); double Bv = Bvert(xc, ctx); - return y/R0 + (Bt * z)/(Bv * x); + return y/R_axis + (Bt * z)/(Bv * x); } double qprofile(const double *xc, void *ctx) @@ -283,18 +282,19 @@ create_ctx(void) double n0 = 7e18*10; // [1/m^3] // Geometry and magnetic field. - double B0 = 0.5; - double R0 = 0.85; + double B_axis = 0.5; + double R_axis = 0.85; double a0 = 0.5; double H = 2.4; // Poloidal length (used to get the field line pitch). double Lcx0 = 8.0; // Connection length in the middle of the domain. int shear = -2; - double x0 = R0 + a0; + double x0 = R_axis + a0; + double R0 = x0; const double vec0[3] = {x0, 0.0, 0.0}; - double Bc = Bphi(vec0, &(struct gk_app_ctx){.B0=B0, .R0=R0}); - double Bvx0 = H * Bc / Lcx0; + double B0 = Bphi(vec0, &(struct gk_app_ctx){.B_axis=B_axis, .R_axis=R_axis}); + double Bvx0 = H * B0 / Lcx0; double n = shear + 2; // Source parameters. @@ -310,7 +310,7 @@ create_ctx(void) // Derived parameters. double vte = sqrt(Te0/me), vti = sqrt(Ti0/mi); // Thermal speeds. double c_s = sqrt(Te0/mi); // Sound speed. - double omega_ci = fabs(qi*B0/mi); // Ion cyclotron frequency. + double omega_ci = fabs(qi*B_axis/mi); // Ion cyclotron frequency. double rho_s = c_s/omega_ci; // Ion sound gyroradius. // Box size. @@ -334,9 +334,9 @@ create_ctx(void) int poly_order = 1; double vpar_max_elc = 4.*vte; - double mu_max_elc = 12*me*pow(vte,2)/(2*B0); + double mu_max_elc = 12*me*pow(vte,2)/(2*B_axis); double vpar_max_ion = 4.*vti; - double mu_max_ion = 12*mi*pow(vti,2)/(2*B0); + double mu_max_ion = 12*mi*pow(vti,2)/(2*B_axis); double t_end = 1.e-6; // End time, should terminate in 43 steps. int num_frames = 1; @@ -349,8 +349,9 @@ create_ctx(void) .cdim = cdim, .vdim = vdim, - .B0 = B0, + .B_axis = B_axis, .Bvx0 = Bvx0, + .R_axis = R_axis, .R0 = R0, .a0 = a0, .H = H, @@ -443,7 +444,7 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES, + .type = GKYL_GK_COLLISIONLESS_EM, }, .collisions = { @@ -519,7 +520,7 @@ main(int argc, char **argv) }, .collisionless = { - .type = GKYL_GK_COLLISIONLESS_ES, + .type = GKYL_GK_COLLISIONLESS_EM, }, .collisions = { @@ -576,11 +577,15 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, }, + .ampere_bcs = { + { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, + { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, + }, + .mu0 = GKYL_MU0, .time_rate_diagnostics = true, }; From f32ad1e87536ca0f4186aacb44ae70b56d6c7f63 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 18 May 2026 11:08:10 -0400 Subject: [PATCH 167/181] improve comment --- core/zero/gkyl_eqn_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/zero/gkyl_eqn_type.h b/core/zero/gkyl_eqn_type.h index 099650bf79..d6ff10a75e 100644 --- a/core/zero/gkyl_eqn_type.h +++ b/core/zero/gkyl_eqn_type.h @@ -41,7 +41,7 @@ enum gkyl_gkfield_id { GKYL_GK_FIELD_ES = 4, // Electrostatic field. GKYL_GK_FIELD_ES_IWL = 5, // Electromagnetic field with inner-wall limited BCs. GKYL_GK_FIELD_EM = 6, // To force electromagnetic field solve (even if no species is EM). - GKYL_GK_FIELD_EM_IWL = 7, // As above but for IWL. + GKYL_GK_FIELD_EM_IWL = 7, // Electromagnetic field with inner-wall limited BCs, even if no species is EM. }; // Identifiers for specific field object types. From 389152313e64aed0ca054c53d0eb264ed33d7a92 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Fri, 22 May 2026 11:21:42 -0700 Subject: [PATCH 168/181] add an array to store the gyroaveraged m1 moment for possibly FLR effects in EM --- gyrokinetic/apps/gk_field.c | 12 ++++-------- gyrokinetic/apps/gk_species.c | 10 ++++++---- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 1 + 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index a70998f785..bce365b4e4 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -283,10 +283,6 @@ gk_field_step_apar_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, st { // Apar^{n+1} = Apar^{n} + dt*dApar/dt gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); - - // Smooth along z. - // gk_field_fem_projection_par(app, field, field->apar, field->apar_smooth_aux); - // gkyl_array_copy_range(field->apar, field->apar_smooth_aux, &app->local_ext); } static void @@ -606,7 +602,8 @@ gk_field_accumulate_current_dens(gkyl_gyrokinetic_app *app, struct gk_field *fie for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; gk_species_moment_calc(&s->m1, s->local, app->local, fin[i]); - gkyl_array_accumulate_range(field->currentDens, s->info.charge, s->m1.marr, &app->local); + s->gyroaverage(app, s, s->m1.marr, s->m1_gyroavg); + gkyl_array_accumulate_range(field->currentDens, s->info.charge, s->m1_gyroavg, &app->local); } app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); } @@ -619,10 +616,9 @@ gk_field_accumulate_current_dens_dot(gkyl_gyrokinetic_app *app, struct gk_field gkyl_array_clear(field->currentDensdot, 0.0); for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; - gk_species_moment_calc(&s->m1, s->local, app->local, rhs_in[i]); - - gkyl_array_accumulate_range(field->currentDensdot, s->info.charge, s->m1.marr, &app->local); + s->gyroaverage(app, s, s->m1.marr, s->m1_gyroavg); + gkyl_array_accumulate_range(field->currentDensdot, s->info.charge, s->m1_gyroavg, &app->local); } app->stat.field_apar_rhs_tm += gkyl_time_diff_now_sec(wst); } diff --git a/gyrokinetic/apps/gk_species.c b/gyrokinetic/apps/gk_species.c index b875004e38..e308842b1e 100644 --- a/gyrokinetic/apps/gk_species.c +++ b/gyrokinetic/apps/gk_species.c @@ -1469,6 +1469,8 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st // Allocate data for density (for charge density or upar calculation). gk_species_moment_init(app, gks, &gks->m0, GKYL_F_MOMENT_M0, false); + // To compute current density for Ampere's law and current dot for Ohm's law. + gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); if (gks->info.flr.type) { // Create operator needed for FLR effects. @@ -1477,6 +1479,7 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->gyroaverage = gk_species_gyroaverage_enabled; // Gyroaveraged M0 and phi. gks->m0_gyroavg = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + gks->m1_gyroavg = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); gks->gyro_phi = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); double gyroradius_bmag = gks->info.flr.bmag ? gks->info.flr.bmag : app->bmag_ref; @@ -1519,6 +1522,7 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st else { gks->gyroaverage = gk_species_gyroaverage_disabled; gks->m0_gyroavg = gkyl_array_acquire(gks->m0.marr); + gks->m1_gyroavg = gkyl_array_acquire(gks->m1.marr); gks->gyro_phi = gkyl_array_acquire(app->field->phi_smooth); } @@ -1530,9 +1534,6 @@ gk_species_init(struct gkyl_gk *gk_app_inp, struct gkyl_gyrokinetic_app *app, st gks->gyro_apar = gkyl_array_acquire(app->field->apar_curr); gks->gyro_apardot = gkyl_array_acquire(app->field->apardot); - // To compute current density for Ampere's law and current dot for Ohm's law. - gk_species_moment_init(app, gks, &gks->m1, GKYL_F_MOMENT_M1, false); - // Initialize the collisionless solver. gks->collisionless = (struct gk_collisionless) { }; gk_species_collisionless_init(app, gks, &gks->collisionless); @@ -1963,6 +1964,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *gks // Release moment data. gk_species_moment_release(app, &gks->m0); + gk_species_moment_release(app, &gks->m1); for (int i=0; iinfo.num_diag_moments; ++i) { gk_species_moment_release(app, &gks->moms[i]); } @@ -1994,6 +1996,7 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *gks gk_species_lte_release(app, &gks->lte); gkyl_array_release(gks->m0_gyroavg); + gkyl_array_release(gks->m1_gyroavg); gkyl_array_release(gks->gyro_phi); if (gks->info.flr.type) { gkyl_array_release(gks->flr_rhoSqD2); @@ -2003,7 +2006,6 @@ gk_species_release(const gkyl_gyrokinetic_app* app, const struct gk_species *gks gkyl_array_release(gks->gyro_apar); gkyl_array_release(gks->gyro_apardot); - gk_species_moment_release(app, &gks->m1); gks->release_func(app, gks); } diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index f8a468b650..9655ab232d 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1101,6 +1101,7 @@ struct gk_species { // Quantities used for FLR model: struct gkyl_array *m0_gyroavg; // Gyroaveraged particle density. + struct gkyl_array *m1_gyroavg; // Gyroaveraged particle flow. struct gkyl_array *flr_rhoSqD2; // Laplacian weight in FLR operator. struct gkyl_array *flr_kSq; // Field multiplying phi in FLR operator. struct gkyl_deflated_fem_poisson *flr_op; // Helmholtz solver to invert FLR operator. From dbfab35b7d696eb51fcc07d36ed99bd4043c0653 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Sat, 30 May 2026 14:30:58 -0700 Subject: [PATCH 169/181] implement a method to remove the flux surface average. For now it is only available for Apardot but one may be interested to use it for phi if we decide to implement the adiabatic electron model. --- gyrokinetic/apps/gk_field_2x3x.c | 69 ++++++++++++++++++++++++ gyrokinetic/apps/gkyl_gyrokinetic.h | 3 +- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 9 ++++ 3 files changed, 80 insertions(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index a4e0509e3e..541adda1c8 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -343,6 +344,8 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ field->invert_flr(app, field, field->apardot); + field->remove_em_zonal(app, field, field->apardot); + app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -381,6 +384,22 @@ gk_field_em_rhs_none(gkyl_gyrokinetic_app *app, struct gk_field *field, const st // Do nothing. } +static void +gk_field_remove_em_zonal_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *field_array) +{ + gkyl_array_average_advance(field->fs_avg_op, field_array, field->fs_avg); + // Hack the conf to phase space dg op to do the 1x substraction over the entire conf space. + gkyl_dg_mul_conf_phase_op_accumulate_range( &field->fs_avg_basis, &app->basis, + field_array, -1.0, field->fs_avg, field->fs_avg_conf_one, &field->fs_avg_range, &app->local); +} + +static void +gk_field_em_zonal_component_none(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *field_array) +{ + // Do nothing. +} + + static void gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) { @@ -408,6 +427,16 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->apar_host); gkyl_array_release(f->apardot_host); } + if (f->remove_em_zonal) { + gkyl_array_average_release(f->fs_avg_op); + gkyl_array_release(f->fs_avg); + gkyl_array_release(f->fs_avg_conf_one); + if (app->use_gpu) { + gkyl_cu_free(f->fs_avg_subdir); + } else { + gkyl_free(f->fs_avg_subdir); + } + } } if (app->use_gpu) { @@ -603,6 +632,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Setup EM solvers. f->ampere_solve = gk_field_ampere_solve_none; f->em_rhs_func = gk_field_em_rhs_none; + f->remove_em_zonal = gk_field_em_zonal_component_none; if (f->is_em) { // Translate input file BCs into Ampere BCs. for (int d=0; dcdim-1; d++) { @@ -643,6 +673,45 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->ampere_solve = gk_field_ampere_solve_enabled; f->em_rhs_func = f->info.is_apar_static ? gk_field_em_rhs_none : gk_field_em_rhs_enabled; + + if (f->info.remove_em_zonal) { + f->remove_em_zonal = gk_field_remove_em_zonal_enabled; + // define the reduced range and basis for averaging along x only + struct gkyl_rect_grid grid_x; + gkyl_rect_grid_init(&grid_x, 1, &app->grid.lower[0], &app->grid.upper[0], &app->grid.cells[0]); + int ghost_x[] = {1}; + gkyl_create_grid_ranges(&grid_x, ghost_x, &f->fs_avg_range_ext, &f->fs_avg_range); + gkyl_cart_modal_serendip(&f->fs_avg_basis, 1, app->basis.poly_order); + // create and run the array average updater to average y and z + // Not that in 2x, it will only average over z. + int avg_dim_yz[] = {0,1,1}; + struct gkyl_array_average_inp inp_avg_xyz_to_x = { + .grid = &app->grid, + .basis = app->basis, + .basis_avg = f->fs_avg_basis, + .local = &app->local, + .local_avg = &f->fs_avg_range, + .local_avg_ext = &f->fs_avg_range_ext, + .weight = app->gk_geom->geo_int.jacobgeo, + .avg_dim = avg_dim_yz, + .use_gpu = app->use_gpu + }; + int fs_avg_subdir[GKYL_MAX_CDIM]; + fs_avg_subdir[0] = 0; // Average along x only, so subdir is just 0. + if (app->use_gpu) { + f->fs_avg_subdir = gkyl_cu_malloc(GKYL_MAX_CDIM*sizeof(int)); + gkyl_cu_memcpy(f->fs_avg_subdir, fs_avg_subdir, GKYL_MAX_CDIM*sizeof(int), GKYL_CU_MEMCPY_H2D); + } else { + f->fs_avg_subdir = gkyl_malloc(GKYL_MAX_CDIM*sizeof(int)); + for (int i=0; ifs_avg_subdir[i] = fs_avg_subdir[i]; + } + f->fs_avg_op = gkyl_array_average_new(&inp_avg_xyz_to_x); + f->fs_avg = mkarr(app->use_gpu, f->fs_avg_basis.num_basis, f->fs_avg_range_ext.volume); + f->fs_avg_conf_one = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + double dg_norm = pow(sqrt(2.0), app->basis.ndim); + gkyl_array_shiftc_range(f->fs_avg_conf_one, dg_norm, 0, &app->local); + } } // Updater for field energy calculation. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index 6b92ed448d..82aa484e29 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -496,7 +496,6 @@ struct gkyl_gyrokinetic_neut_species { struct gkyl_gyrokinetic_field { enum gkyl_gkfield_id gkfield_id; bool is_static; // =true field does not change in time. - bool is_apar_static; // =true Apar at initial time is used for all time steps. bool zero_init_field; // =true doesn't compute the initial field. bool calc_init_apar; // Whether to calculate the initial Apar from the initial condition of the distribution function. @@ -511,6 +510,8 @@ struct gkyl_gyrokinetic_field { // parameters for EMGK struct gkyl_gyrokinetic_bc ampere_bcs[2*GKYL_MAX_CDIM]; double mu0; // Magnetic permeability of free space. + bool remove_em_zonal; // Whether to remove zonal component. + bool is_apar_static; // =true Apar at initial time is used for all time steps. bool time_rate_diagnostics; // Writes the time rate of change of field energy. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 9655ab232d..8de3a4a261 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1343,6 +1343,15 @@ struct gk_field { gkyl_dynvec integ_apar_energy_dot; // d/dt of integrated EM energy components (separate from electrostatic energy for debugging purposes) bool is_first_apar_energy_dot_write_call; // flag for d(energy)/dt dynvec written first time + void (*remove_em_zonal)(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *phi); // Function to remove zonal component. + struct gkyl_array_average *fs_avg_op; // Updater for flux surface averaging. + struct gkyl_array *fs_avg; // Array for storing flux-surface averaged quantities. + struct gkyl_array *fs_avg_conf_one; // Array of ones in configuration space for flux-surface averaging. + struct gkyl_range fs_avg_range; // Range for flux-surface average arrays. + struct gkyl_basis fs_avg_basis; // Basis for flux-surface average arrays. + struct gkyl_range fs_avg_range_ext; // Range for flux-surface average arrays. + int *fs_avg_subdir; // Subscript for flux-surface average direction. + bool has_phi_wall_lo; // flag to indicate there is biased wall potential on lower wall bool phi_wall_lo_evolve; // flag to indicate biased wall potential on lower wall is time dependent struct gkyl_array *phi_wall_lo; // biased wall potential on lower wall From 3def11f1443e185f07cbb324665dd940ba0bc8c8 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Wed, 10 Jun 2026 15:51:31 -0700 Subject: [PATCH 170/181] add a sanity check where we also solve ampere and output it to compare with the stepped version. Also fix a merge bug. --- gyrokinetic/apps/gk_field.c | 10 +++++----- gyrokinetic/apps/gk_field_1x.c | 17 +++++++++++------ gyrokinetic/apps/gk_field_2x3x.c | 18 +++++++++++------- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 10 ++++++---- gyrokinetic/apps/gyrokinetic.c | 19 +++++++++++++++++-- 5 files changed, 50 insertions(+), 24 deletions(-) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index bce365b4e4..38f333c295 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -434,9 +434,9 @@ gk_field_new(struct gkyl_gk *gk, struct gkyl_gyrokinetic_app *app) f->info = gk->field; - f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD_ES; + f->gkfield_id = f->info.gkfield_id ? f->info.gkfield_id : GKYL_GK_FIELD; - f->is_em = f->info.gkfield_id == GKYL_GK_FIELD_EM || f->info.gkfield_id == GKYL_GK_FIELD_EM_IWL; + f->is_em = f->info.gkfield_id == GKYL_GK_FIELD_EM; // Ensure that if any species is electromagnetic, the field is electromagnetic. for (int i=0; inum_species; ++i) { struct gk_species *s = &app->species[i]; @@ -507,12 +507,12 @@ gk_field_em_rhs(gkyl_gyrokinetic_app *app, struct gk_field *field, const struct app->stat.field_tm += gkyl_time_diff_now_sec(wst); } -void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field) +void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out) { struct timespec wst = gkyl_wall_clock(); - field->ampere_solve(app, field); + field->ampere_solve(app, field, out); // Smooth Apar after solving Ampere's law. - gk_field_fem_projection_par(app, field, field->apar, field->apar); + gk_field_fem_projection_par(app, field, out, out); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index a2ce21e041..88e8a06a8a 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -20,7 +20,7 @@ gk_field_rhs_phi_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field) } static void -gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ +gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out){ struct timespec wst = gkyl_wall_clock(); // Compute the LHS factor (= k_perp^2/mu_0 + sum_s q_s^2 n_s/m_s) @@ -30,7 +30,7 @@ gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->lapWeightAmpere, &app->local); // Weak division method dApar/dt = sum_s q_s int dv vpar d/dt(F_s) / ( (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) ) - gkyl_dg_div_op_range(field->div_mem, app->basis, 0, field->apardot, 0, field->currentDensdot, + gkyl_dg_div_op_range(field->div_mem, app->basis, 0, out, 0, field->currentDensdot, 0, field->dApartdtSlvr_lhs_factor, &app->local); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); @@ -38,18 +38,18 @@ gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ } static void -gk_field_ampere_solve_1x_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field){ +gk_field_ampere_solve_1x_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out){ struct timespec wst = gkyl_wall_clock(); // Weak division method Apar = sum_s q_s int dv vpar F_s / (k_perp^2/mu_0) - gkyl_dg_div_op_range(field->div_mem, app->basis, 0, field->apar, 0, field->currentDens, + gkyl_dg_div_op_range(field->div_mem, app->basis, 0, out, 0, field->currentDens, 0, field->lapWeightAmpere, &app->local); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } static void -gk_field_ampere_solve_1x_none(gkyl_gyrokinetic_app *app, struct gk_field *field){ +gk_field_ampere_solve_1x_none(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out){ // Do nothing. } @@ -58,7 +58,7 @@ gk_field_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, const { gk_field_accumulate_current_dens_dot(app, field, rhs_in); gk_field_accumulate_ohms_kSq(app, field, f_in); - gk_field_ohm_solve_1x(app, field); + gk_field_ohm_solve_1x(app, field, field->apardot); } static void @@ -79,6 +79,7 @@ gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->apar1); gkyl_array_release(f->aparnew); gkyl_array_release(f->apardot); + gkyl_array_release(f->amperesol); if (f->is_em) { gkyl_array_release(f->currentDens); @@ -91,6 +92,7 @@ gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) if (app->use_gpu) { gkyl_array_release(f->apar_host); gkyl_array_release(f->apardot_host); + gkyl_array_release(f->amperesol_host); } } @@ -123,15 +125,18 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->amperesol = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); // Allocate additional arrays for EM case. if (f->is_em) { f->apar_host = f->apar; f->apardot_host = f->apardot; + f->amperesol_host = f->amperesol; if (app->use_gpu) { f->apar_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); f->apardot_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + f->amperesol_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); } f->currentDens = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 57ae1881e0..a61d3a654b 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -479,12 +479,12 @@ gk_field_rhs_poisson_perp_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field } static void -gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ +gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out){ struct timespec wst = gkyl_wall_clock(); gkyl_fem_poisson_perp_update_lhs(field->fem_apardot_solver, field->lapWeightAmpere, field->dApartdtSlvr_kSq); gkyl_fem_poisson_perp_set_rhs(field->fem_apardot_solver, field->currentDensdot); - gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, field->apardot); + gkyl_fem_poisson_perp_solve(field->fem_apardot_solver, out); field->invert_flr(app, field, field->apardot); @@ -494,23 +494,23 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field){ } static void -gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field){ +gk_field_ampere_solve_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out){ struct timespec wst = gkyl_wall_clock(); gkyl_fem_poisson_perp_set_rhs(field->fem_apar_solver, field->currentDens); - gkyl_fem_poisson_perp_solve(field->fem_apar_solver, field->apar); + gkyl_fem_poisson_perp_solve(field->fem_apar_solver, out); // Smooth along z. // gk_field_fem_projection_par(app, field, field->apar, field->apar_smooth_aux); // gkyl_array_copy_range(field->apar, field->apar_smooth_aux, &app->local_ext); - field->invert_flr(app, field, field->apar); + field->invert_flr(app, field, out); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } static void -gk_field_ampere_solve_none(gkyl_gyrokinetic_app *app, struct gk_field *field){ +gk_field_ampere_solve_none(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out){ // Do nothing. } @@ -519,7 +519,7 @@ gk_field_em_rhs_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, const { gk_field_accumulate_current_dens_dot(app, field, rhs_in); gk_field_accumulate_ohms_kSq(app, field, f_in); - gk_field_ohm_solve(app, field); + gk_field_ohm_solve(app, field, field->apardot); } static void @@ -570,6 +570,7 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) if (app->use_gpu) { gkyl_array_release(f->apar_host); gkyl_array_release(f->apardot_host); + gkyl_array_release(f->amperesol_host); } if (f->remove_em_zonal) { gkyl_array_average_release(f->fs_avg_op); @@ -650,14 +651,17 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->apar1 = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->aparnew = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); f->apardot = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); + f->amperesol = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); // Setup electromagnetic variables if needed. if (f->is_em) { f->apar_host = f->apar; f->apardot_host = f->apardot; + f->amperesol_host = f->amperesol; if (app->use_gpu) { f->apar_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); f->apardot_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); + f->amperesol_host = mkarr(false, app->basis.num_basis, app->local_ext.volume); } f->apar_smooth_aux = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index e227f829ee..46eb127b9c 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1346,6 +1346,8 @@ struct gk_field { struct gkyl_array *apar_host; // Host copy for use IO. struct gkyl_array *apardot; // Array for d(A_parallel)/dt (solved through Ohm's law). struct gkyl_array *apardot_host; // Host copy for use IO. + struct gkyl_array *amperesol; // Array for Ampere's law solution. + struct gkyl_array *amperesol_host; // Host copy for use IO. struct gkyl_array *currentDens; // Current density. struct gkyl_array *currentDens_global; // Current density. struct gkyl_array *currentDensdot; // Time derivative of current density. @@ -1444,8 +1446,8 @@ struct gk_field { const struct gkyl_array *fin[]); void (*accumulate_current_dot) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *rhs_in[]); - void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); - void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field); + void (*ampere_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out); + void (*ohm_solve) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out); void (*step_apar) (struct gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array* out, double a, const struct gkyl_array* inp); void (*em_combine_func) (struct gkyl_array *out, double c1, const struct gkyl_array *arr1, double c2, const struct gkyl_array *arr2,const struct gkyl_range *rng); void (*em_copy_func) (struct gkyl_array *out, const struct gkyl_array *inp, const struct gkyl_range *range); @@ -4277,9 +4279,9 @@ gk_field_accumulate_ohms_kSq(gkyl_gyrokinetic_app *app, struct gk_field *field, * * @param app gyrokinetic app object. * @param field Pointer to field. - * @param em Output field. + * @param out Output array. (apar) */ -void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field); +void gk_field_calc_apar_ic(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *out); /** * Step the parallel component of the magnetic vector potential, apar, forward in time. diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 051d69f4ff..300f8dca8f 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -968,7 +968,7 @@ gkyl_gyrokinetic_app_apply_ic(gkyl_gyrokinetic_app* app, double t0) // It benign because this will be overwritten by the first RHS calls. if (app->field->is_em) { gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); - gk_field_calc_apar_ic(app, app->field); + gk_field_calc_apar_ic(app, app->field, app->field->apar); for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; gk_species_rhs_em_complete(app, gk_s, distf[i], distfdot[i], bflux[i]); @@ -1286,10 +1286,18 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); if (app->field->is_em) { + // Solve ampere to output it and compare with stepped apar. + struct gkyl_array *distf[app->num_species]; + for (int i=0; inum_species; ++i) { + distf[i] = app->species[i].f; + } + gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); + gk_field_calc_apar_ic(app, app->field, app->field->amperesol); // Copy data from device to host before writing it out. if (app->use_gpu) { gkyl_array_copy(app->field->apar_host, app->field->apar); gkyl_array_copy(app->field->apardot_host, app->field->apardot); + gkyl_array_copy(app->field->amperesol_host, app->field->amperesol); } const char *fmt_apar = "%s-apar_%d.gkyl"; int sz_apar = gkyl_calc_strlen(fmt_apar, app->name, frame); @@ -1304,6 +1312,13 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame snprintf(fileNm_apardot, sizeof fileNm_apardot, fmt_apardot, app->name, frame); gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm_apardot); + + const char *fmt_amperesol = "%s-amperesol_%d.gkyl"; + int sz_amperesol = gkyl_calc_strlen(fmt_amperesol, app->name, frame); + char fileNm_amperesol[sz_amperesol+1]; // ensures no buffer overflow + snprintf(fileNm_amperesol, sizeof fileNm_amperesol, fmt_amperesol, app->name, frame); + + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->amperesol_host, fileNm_amperesol); } gkyl_msgpack_data_release(mt); @@ -3246,7 +3261,7 @@ gkyl_gyrokinetic_app_read_from_frame(gkyl_gyrokinetic_app *app, int frame) if (app->field->calc_init_apar) { // Compute Apar. gk_field_accumulate_current_dens(app, app->field, (const struct gkyl_array **) distf); - gk_field_calc_apar_ic(app, app->field); + gk_field_calc_apar_ic(app, app->field, app->field->apar); // We also compute Apardot here to output the first frame. for (int i=0; inum_species; ++i) { struct gk_species *gk_s = &app->species[i]; From 73a61958a7de5b8dbcd9e4c3d76d2d4cb88a2b8d Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Wed, 10 Jun 2026 15:55:39 -0700 Subject: [PATCH 171/181] remove "Electromagnetic Inner wall limited" entry from gk_field_type enum --- gyrokinetic/apps/gyrokinetic_lw.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gyrokinetic/apps/gyrokinetic_lw.c b/gyrokinetic/apps/gyrokinetic_lw.c index 1c8f2e5bd6..c71119be62 100644 --- a/gyrokinetic/apps/gyrokinetic_lw.c +++ b/gyrokinetic/apps/gyrokinetic_lw.c @@ -69,7 +69,6 @@ static const struct gkyl_str_int_pair gk_field_type[] = { { "Boltzmann", GKYL_GK_FIELD_BOLTZMANN }, { "Adiabatic", GKYL_GK_FIELD_ADIABATIC }, { "Electromagnetic", GKYL_GK_FIELD_EM }, - { "Electromagnetic Inner wall limited", GKYL_GK_FIELD_EM_IWL }, { 0, 0 } }; From 06d9f6e16443e3a37f53c0b2967d528329f1e23b Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 11 Jun 2026 09:36:30 -0400 Subject: [PATCH 172/181] fix some confusion between remove zonal function and boolean --- gyrokinetic/apps/gk_field_2x3x.c | 8 ++++---- gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index a61d3a654b..3fbc3f5128 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -488,7 +488,7 @@ gk_field_ohm_solve(struct gkyl_gyrokinetic_app *app, struct gk_field *field, str field->invert_flr(app, field, field->apardot); - field->remove_em_zonal(app, field, field->apardot); + field->remove_em_zonal_func(app, field, field->apardot); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); } @@ -572,7 +572,7 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->apardot_host); gkyl_array_release(f->amperesol_host); } - if (f->remove_em_zonal) { + if (f->info.remove_em_zonal) { gkyl_array_average_release(f->fs_avg_op); gkyl_array_release(f->fs_avg); gkyl_array_release(f->fs_avg_conf_one); @@ -793,7 +793,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) // Setup EM solvers. f->ampere_solve = gk_field_ampere_solve_none; f->em_rhs_func = gk_field_em_rhs_none; - f->remove_em_zonal = gk_field_em_zonal_component_none; + f->remove_em_zonal_func = gk_field_em_zonal_component_none; if (f->is_em) { // Translate input file BCs into Ampere BCs. for (int d=0; dcdim-1; d++) { @@ -836,7 +836,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->em_rhs_func = f->info.is_apar_static ? gk_field_em_rhs_none : gk_field_em_rhs_enabled; if (f->info.remove_em_zonal) { - f->remove_em_zonal = gk_field_remove_em_zonal_enabled; + f->remove_em_zonal_func = gk_field_remove_em_zonal_enabled; // define the reduced range and basis for averaging along x only struct gkyl_rect_grid grid_x; gkyl_rect_grid_init(&grid_x, 1, &app->grid.lower[0], &app->grid.upper[0], &app->grid.cells[0]); diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 46eb127b9c..4f0ed4f2ae 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1402,7 +1402,7 @@ struct gk_field { gkyl_dynvec integ_apar_energy_dot; // d/dt of integrated EM energy components (separate from electrostatic energy for debugging purposes) bool is_first_apar_energy_dot_write_call; // flag for d(energy)/dt dynvec written first time - void (*remove_em_zonal)(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *phi); // Function to remove zonal component. + void (*remove_em_zonal_func)(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *phi); // Function to remove zonal component. struct gkyl_array_average *fs_avg_op; // Updater for flux surface averaging. struct gkyl_array *fs_avg; // Array for storing flux-surface averaged quantities. struct gkyl_array *fs_avg_conf_one; // Array of ones in configuration space for flux-surface averaging. From b2b779d6914c362136a40929d40f776a18296971 Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Thu, 11 Jun 2026 08:31:23 -0700 Subject: [PATCH 173/181] add a new option to smooth Aparallel along z after stepping it. A new function pointer either points to a none func or connect to fem_projection_par_phi_func. This is then used on `out` in the apar stepper in gk_field.c. I guess this way allows to fully use any twist or other special BCs since it uses the phi infra. Tests soon. This is valgrind clean btw --- gyrokinetic/apps/gk_field.c | 3 +++ gyrokinetic/apps/gk_field_2x3x.c | 12 ++++++++++++ gyrokinetic/apps/gkyl_gyrokinetic.h | 1 + gyrokinetic/apps/gkyl_gyrokinetic_priv.h | 2 ++ gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c | 2 ++ gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c | 2 ++ 6 files changed, 22 insertions(+) diff --git a/gyrokinetic/apps/gk_field.c b/gyrokinetic/apps/gk_field.c index 38f333c295..1d7faec4b7 100644 --- a/gyrokinetic/apps/gk_field.c +++ b/gyrokinetic/apps/gk_field.c @@ -283,6 +283,9 @@ gk_field_step_apar_enabled(gkyl_gyrokinetic_app *app, struct gk_field *field, st { // Apar^{n+1} = Apar^{n} + dt*dApar/dt gkyl_array_accumulate(gkyl_array_scale(out, dt), 1.0, inp); + + // Smooth Apar along z. + field->fem_projection_par_apar_func(app, field, out, out); } static void diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 3fbc3f5128..e085cb0813 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -82,6 +82,13 @@ gk_field_3x_write_twistshift(struct gkyl_gyrokinetic_app *app, struct gk_field * } } +static void +gk_field_fem_projection_par_none(gkyl_gyrokinetic_app *app, struct gk_field *field, + struct gkyl_array *arr_dg, struct gkyl_array *arr_fem) +{ + // Do nothing. +} + static void gk_field_fem_projection_par_rho_ts_2x(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *arr_dg, struct gkyl_array *arr_fem) @@ -554,6 +561,7 @@ gk_field_fem_release_2x3x(const gkyl_gyrokinetic_app *app, struct gk_field *f) gkyl_array_release(f->phi_smooth); gkyl_array_release(f->apar); gkyl_array_release(f->apardot); + gkyl_array_release(f->amperesol); gkyl_array_release(f->apar_curr); gkyl_array_release(f->apar1); gkyl_array_release(f->aparnew); @@ -794,6 +802,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) f->ampere_solve = gk_field_ampere_solve_none; f->em_rhs_func = gk_field_em_rhs_none; f->remove_em_zonal_func = gk_field_em_zonal_component_none; + f->fem_projection_par_apar_func = gk_field_fem_projection_par_none; if (f->is_em) { // Translate input file BCs into Ampere BCs. for (int d=0; dcdim-1; d++) { @@ -873,6 +882,9 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) double dg_norm = pow(sqrt(2.0), app->basis.ndim); gkyl_array_shiftc_range(f->fs_avg_conf_one, dg_norm, 0, &app->local); } + if (f->info.smooth_apar_z) { + f->fem_projection_par_apar_func = f->fem_projection_par_phi_func; + } } // Updater for field energy calculation. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index 1b132c6255..cbabaeeada 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -557,6 +557,7 @@ struct gkyl_gyrokinetic_field { struct gkyl_gyrokinetic_bc ampere_bcs[2*GKYL_MAX_CDIM]; double mu0; // Magnetic permeability of free space. bool remove_em_zonal; // Whether to remove zonal component. + bool smooth_apar_z; // Whether to apply a smoother in the z direction for Ampere stepping in EMGK. bool is_apar_static; // =true Apar at initial time is used for all time steps. bool time_rate_diagnostics; // Writes the time rate of change of field energy. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h index 4f0ed4f2ae..f7a59347b1 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic_priv.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic_priv.h @@ -1437,6 +1437,8 @@ struct gk_field { struct gkyl_array *arr_dg, struct gkyl_array *arr_fem); void (*fem_projection_par_phi_func)(gkyl_gyrokinetic_app *app, struct gk_field *field, struct gkyl_array *arr_dg, struct gkyl_array *arr_fem); + void (*fem_projection_par_apar_func)(gkyl_gyrokinetic_app *app, struct gk_field *field, + struct gkyl_array *arr_dg, struct gkyl_array *arr_fem); void (*twistshift_func) (struct gkyl_bc_twistshift *up, struct gkyl_array *fdo, struct gkyl_array *ftar); // Pointer to function for electromagnetic field solve. diff --git a/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c index 9339022279..8c4faf5199 100644 --- a/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c @@ -575,6 +575,8 @@ main(int argc, char **argv) }, .mu0 = GKYL_MU0, .time_rate_diagnostics = true, + .remove_em_zonal = false, + .smooth_apar_z = false, }; // GK app diff --git a/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c index a605105045..d796911b8a 100644 --- a/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c @@ -579,6 +579,8 @@ main(int argc, char **argv) }, .mu0 = GKYL_MU0, .time_rate_diagnostics = true, + .smooth_apar_z = false, + .remove_em_zonal = false, }; // GK app From 876113f8ca98ef2934f4c19f7a444f2eb4fc757a Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 18 Jun 2026 10:22:03 -0400 Subject: [PATCH 174/181] remove gk_field_id from the table since this is now decided by the collisionless type --- gyrokinetic/creg/rt_gk_cbc_2x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_cbc_3x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_ltx_iwl_num_miller_3x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c | 1 - 8 files changed, 8 deletions(-) diff --git a/gyrokinetic/creg/rt_gk_cbc_2x2v_p1.c b/gyrokinetic/creg/rt_gk_cbc_2x2v_p1.c index b49d37b153..3c1fe567d4 100644 --- a/gyrokinetic/creg/rt_gk_cbc_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_cbc_2x2v_p1.c @@ -834,7 +834,6 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, diff --git a/gyrokinetic/creg/rt_gk_cbc_3x2v_p1.c b/gyrokinetic/creg/rt_gk_cbc_3x2v_p1.c index 2dcfcb6175..7de15edf6e 100644 --- a/gyrokinetic/creg/rt_gk_cbc_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_cbc_3x2v_p1.c @@ -856,7 +856,6 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, diff --git a/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c b/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c index 22edb63f91..ce10bf047d 100644 --- a/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_d3d_iwl_2x2v_p1.c @@ -743,7 +743,6 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, diff --git a/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c b/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c index 5ac1995229..714b73f7a2 100644 --- a/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_d3d_iwl_3x2v_p1.c @@ -841,7 +841,6 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {ctx.side_wall_bias} }, diff --git a/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c b/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c index ef503fd615..7cf2944b6e 100644 --- a/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_ltx_iwl_2x2v_p1.c @@ -438,7 +438,6 @@ int main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, diff --git a/gyrokinetic/creg/rt_gk_ltx_iwl_num_miller_3x2v_p1.c b/gyrokinetic/creg/rt_gk_ltx_iwl_num_miller_3x2v_p1.c index 8ddb4c9d5f..6a345c14c3 100644 --- a/gyrokinetic/creg/rt_gk_ltx_iwl_num_miller_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_ltx_iwl_num_miller_3x2v_p1.c @@ -418,7 +418,6 @@ int main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, { .dir = 0, .edge = GKYL_UPPER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0}, }, diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c index 50ba3641f7..048c293363 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_2x2v_p1.c @@ -769,7 +769,6 @@ main(int argc, char **argv) // Field. struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .polarization_bmag = ctx.Bref, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, diff --git a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c index 60f6a5ae7a..626368922c 100644 --- a/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_tcv_iwl_adapt_source_3x2v_p1.c @@ -808,7 +808,6 @@ main(int argc, char **argv) // field struct gkyl_gyrokinetic_field field = { - .gkfield_id = GKYL_GK_FIELD_ES, .polarization_bmag = ctx.Bref, .poisson_bcs = { { .dir = 0, .edge = GKYL_LOWER_EDGE, .type = GKYL_BC_GK_FIELD_DIRICHLET, .value = {0.0} }, From c6401fd9aa0570fd9e5d950145a9d0c54125d5dd Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 18 Jun 2026 10:28:43 -0400 Subject: [PATCH 175/181] set the fem_projection_par_apar_func to none in the 1x em solver --- gyrokinetic/apps/gk_field_1x.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index 88e8a06a8a..fab85d8947 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -67,6 +67,13 @@ gk_field_em_rhs_none(gkyl_gyrokinetic_app *app, struct gk_field *field, const st // Do nothing. } +static void +gk_field_fem_projection_par_none(gkyl_gyrokinetic_app *app, struct gk_field *field, + struct gkyl_array *arr_dg, struct gkyl_array *arr_fem) +{ + // Do nothing. +} + static void gk_field_fem_release_1x(const gkyl_gyrokinetic_app *app, struct gk_field *f) { @@ -173,6 +180,7 @@ gk_field_fem_new_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) if (f->is_em) { f->em_rhs_func = f->info.is_apar_static ? gk_field_em_rhs_none : gk_field_em_rhs_enabled; f->ampere_solve = gk_field_ampere_solve_1x_enabled; + f->fem_projection_par_apar_func = gk_field_fem_projection_par_none; } else { f->em_rhs_func = gk_field_em_rhs_none; f->ampere_solve = gk_field_ampere_solve_1x_none; From ebb992e27f2e53c00f12a80ef8cef207374f75f4 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 18 Jun 2026 10:29:41 -0400 Subject: [PATCH 176/181] GKYL_FIELD_ES does not exist anymore as this is decided through the collisionless term --- gyrokinetic/apps/gk_multib_field.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_multib_field.c b/gyrokinetic/apps/gk_multib_field.c index 384da3fd15..a250e2d6e1 100644 --- a/gyrokinetic/apps/gk_multib_field.c +++ b/gyrokinetic/apps/gk_multib_field.c @@ -649,7 +649,7 @@ gk_multib_field_new(const struct gkyl_gyrokinetic_multib *mbinp, struct gkyl_gyr struct gk_multib_field *mbf = gkyl_malloc(sizeof(struct gk_multib_field)); mbf->info = mbinp->field; - mbf->gkfield_id = mbf->info.gkfield_id? mbf->info.gkfield_id : GKYL_GK_FIELD_ES; + mbf->gkfield_id = mbf->info.gkfield_id? mbf->info.gkfield_id : GKYL_GK_FIELD; mbf->num_local_blocks = mbapp->num_local_blocks; mbf->cdim = mbapp->block_topo->ndim; mbf->half_domain = mbf->info.half_domain ? mbf->info.half_domain : false; From 9289c8674d0395c2bc07b5a8d7c3b39303f5ebb3 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Thu, 18 Jun 2026 10:30:09 -0400 Subject: [PATCH 177/181] add output of the solution of the ampere's law and unify the description writing in a static routine. --- gyrokinetic/apps/gyrokinetic.c | 57 +++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 21 deletions(-) diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 8ada173625..f2cfbb2b2e 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1617,6 +1617,26 @@ gkyl_gyrokinetic_app_write_geometry(gkyl_gyrokinetic_app* app, struct gkyl_gk_ge // // ............. Field outputs ............... // // +static void write_field_with_metadata(struct gkyl_gyrokinetic_app *app, int frame, const char *field_suffix, + const char *description, struct gkyl_array *field_host) +{ + struct gkyl_msgpack_map_elem custom_meta[] = { + { .key = "Description", .elem_type = GKYL_MP_STRING, .cval = description } + }; + int io_meta_len[] = { app->io_meta_grid_len, app->gk_geom->io_meta_basic_len, 1 }; + const struct gkyl_msgpack_map_elem* io_meta[] = { app->io_meta_grid, app->gk_geom->io_meta_basic, custom_meta }; + + struct gkyl_msgpack_data *mt_data = gkyl_msgpack_create_union( + sizeof(io_meta_len) / sizeof(int), io_meta_len, io_meta + ); + const char *fmt = "%s-%s_%d.gkyl"; + int sz = gkyl_calc_strlen(fmt, app->name, field_suffix, frame); + char fileNm[sz + 1]; + snprintf(fileNm, sizeof(fileNm), fmt, app->name, field_suffix, frame); + gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt_data, field_host, fileNm); + gkyl_msgpack_data_release(mt_data); +} + void gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame) { @@ -1627,9 +1647,13 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame gkyl_array_copy(app->field->phi_host, app->field->phi_smooth); } - // Package metadata. + // Update metadata for the fields being written out. gkyl_msgpack_map_elem_set_double(app->io_meta_grid_len, app->io_meta_grid, "time", tm); gkyl_msgpack_map_elem_set_uint(app->io_meta_grid_len, app->io_meta_grid, "frame", frame); + + write_field_with_metadata(app, frame, "field","Electrostatic potential.", app->field->phi_host); + + // Package metadata. struct gkyl_msgpack_map_elem io_meta_phi[] = { { .key = "Description", .elem_type = GKYL_MP_STRING, .cval = "Electrostatic potential." } }; @@ -1643,6 +1667,7 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame snprintf(fileNm, sizeof fileNm, fmt, app->name, frame); gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->phi_host, fileNm); + gkyl_msgpack_data_release(mt); if (app->field->is_em) { // Solve ampere to output it and compare with stepped apar. @@ -1658,29 +1683,19 @@ gkyl_gyrokinetic_app_write_field(gkyl_gyrokinetic_app* app, double tm, int frame gkyl_array_copy(app->field->apardot_host, app->field->apardot); gkyl_array_copy(app->field->amperesol_host, app->field->amperesol); } - const char *fmt_apar = "%s-apar_%d.gkyl"; - int sz_apar = gkyl_calc_strlen(fmt_apar, app->name, frame); - char fileNm_apar[sz_apar+1]; // ensures no buffer overflow - snprintf(fileNm_apar, sizeof fileNm_apar, fmt_apar, app->name, frame); - - gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apar_host, fileNm_apar); - - const char *fmt_apardot = "%s-apardot_%d.gkyl"; - int sz_apardot = gkyl_calc_strlen(fmt_apardot, app->name, frame); - char fileNm_apardot[sz_apardot+1]; // ensures no buffer overflow - snprintf(fileNm_apardot, sizeof fileNm_apardot, fmt_apardot, app->name, frame); - gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->apardot_host, fileNm_apardot); + write_field_with_metadata(app, frame, "apar", + "Stepped parallel component of the magnetic vector potential.", + app->field->apar_host); - const char *fmt_amperesol = "%s-amperesol_%d.gkyl"; - int sz_amperesol = gkyl_calc_strlen(fmt_amperesol, app->name, frame); - char fileNm_amperesol[sz_amperesol+1]; // ensures no buffer overflow - snprintf(fileNm_amperesol, sizeof fileNm_amperesol, fmt_amperesol, app->name, frame); + write_field_with_metadata(app, frame, "apardot", + "Time derivative of the parallel component of the magnetic vector potential obtained with Ohm's law.", + app->field->apardot_host); - gkyl_comm_array_write(app->comm, &app->grid, &app->local, mt, app->field->amperesol_host, fileNm_amperesol); - } - - gkyl_msgpack_data_release(mt); + write_field_with_metadata(app, frame, "amperesol", + "Solution of the Ampere's law.", + app->field->amperesol_host); + } app->stat.field_io_tm += gkyl_time_diff_now_sec(wtm); app->stat.n_field_io += 1; From 121ba48954895b2971b46a45dae2280d37bc4e0e Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Mon, 29 Jun 2026 18:42:16 -0400 Subject: [PATCH 178/181] some merge fix --- gyrokinetic/apps/gk_field_1x.c | 4 ++-- gyrokinetic/apps/gyrokinetic.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/gyrokinetic/apps/gk_field_1x.c b/gyrokinetic/apps/gk_field_1x.c index fab85d8947..d5bb6be72b 100644 --- a/gyrokinetic/apps/gk_field_1x.c +++ b/gyrokinetic/apps/gk_field_1x.c @@ -30,7 +30,7 @@ gk_field_ohm_solve_1x(struct gkyl_gyrokinetic_app *app, struct gk_field *field, gkyl_array_accumulate_range(field->dApartdtSlvr_lhs_factor, 1.0, field->lapWeightAmpere, &app->local); // Weak division method dApar/dt = sum_s q_s int dv vpar d/dt(F_s) / ( (k_perp^2/mu_0 + sum_s q_s^2/m_s int dv F_s) ) - gkyl_dg_div_op_range(field->div_mem, app->basis, 0, out, 0, field->currentDensdot, + gkyl_dg_div_op_range(field->div_mem, &app->basis, 0, out, 0, field->currentDensdot, 0, field->dApartdtSlvr_lhs_factor, &app->local); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); @@ -42,7 +42,7 @@ gk_field_ampere_solve_1x_enabled(gkyl_gyrokinetic_app *app, struct gk_field *fie struct timespec wst = gkyl_wall_clock(); // Weak division method Apar = sum_s q_s int dv vpar F_s / (k_perp^2/mu_0) - gkyl_dg_div_op_range(field->div_mem, app->basis, 0, out, 0, field->currentDens, + gkyl_dg_div_op_range(field->div_mem, &app->basis, 0, out, 0, field->currentDens, 0, field->lapWeightAmpere, &app->local); app->stat.field_apar_solve_tm += gkyl_time_diff_now_sec(wst); diff --git a/gyrokinetic/apps/gyrokinetic.c b/gyrokinetic/apps/gyrokinetic.c index 4b529b5bd8..6ec58ec2f5 100644 --- a/gyrokinetic/apps/gyrokinetic.c +++ b/gyrokinetic/apps/gyrokinetic.c @@ -1623,8 +1623,8 @@ static void write_field_with_metadata(struct gkyl_gyrokinetic_app *app, int fram struct gkyl_msgpack_map_elem custom_meta[] = { { .key = "Description", .elem_type = GKYL_MP_STRING, .cval = description } }; - int io_meta_len[] = { app->io_meta_grid_len, app->gk_geom->io_meta_basic_len, 1 }; - const struct gkyl_msgpack_map_elem* io_meta[] = { app->io_meta_grid, app->gk_geom->io_meta_basic, custom_meta }; + int io_meta_len[] = { app->io_meta_dg_len, app->gk_geom->io_meta_basic_len, 1 }; + const struct gkyl_msgpack_map_elem* io_meta[] = { app->io_meta_dg, app->gk_geom->io_meta_basic, custom_meta }; struct gkyl_msgpack_data *mt_data = gkyl_msgpack_create_union( sizeof(io_meta_len) / sizeof(int), io_meta_len, io_meta From c5db4a6233351e34dcd36d7a126a2d95c2973046 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 2 Sep 2026 11:55:11 -0400 Subject: [PATCH 179/181] merge fix --- gyrokinetic/apps/gk_field_2x3x.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index ee6810d150..4ab5aa18a0 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -813,7 +813,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) for (int i=0; ifs_avg_subdir[i] = fs_avg_subdir[i]; } - f->fs_avg_op = gkyl_array_average_new(&inp_avg_xyz_to_x); + f->fs_avg_op = gkyl_array_average_inew(&inp_avg_xyz_to_x); f->fs_avg = mkarr(app->use_gpu, f->fs_avg_basis.num_basis, f->fs_avg_range_ext.volume); f->fs_avg_conf_one = mkarr(app->use_gpu, app->basis.num_basis, app->local_ext.volume); double dg_norm = pow(sqrt(2.0), app->basis.ndim); From 36905bb177fdba48b5f6c898b0e6a29fa9fa7bc7 Mon Sep 17 00:00:00 2001 From: antoinehoff Date: Wed, 2 Sep 2026 11:55:23 -0400 Subject: [PATCH 180/181] Make the dg gk unit test electromagnetic --- gyrokinetic/unit/ctest_dg_gyrokinetic.c | 2 +- gyrokinetic/unit/ctest_dg_gyrokinetic_kern_tm.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gyrokinetic/unit/ctest_dg_gyrokinetic.c b/gyrokinetic/unit/ctest_dg_gyrokinetic.c index 7186e34050..43d5567993 100644 --- a/gyrokinetic/unit/ctest_dg_gyrokinetic.c +++ b/gyrokinetic/unit/ctest_dg_gyrokinetic.c @@ -110,7 +110,7 @@ test_dg_gyrokinetic() phaseRange, phaseRange_ext, velLocal, velLocal_ext, false); struct gkyl_dg_eqn* eqn = gkyl_dg_gyrokinetic_new(&confBasis, &basis, &confRange, &phaseRange, - charge, mass, 0, gk_geom, gvm, false); + charge, mass, GKYL_GK_COLLISIONLESS_EM, false, false, gk_geom, gvm, false); TEST_CHECK( eqn->num_equations == 1 ); diff --git a/gyrokinetic/unit/ctest_dg_gyrokinetic_kern_tm.c b/gyrokinetic/unit/ctest_dg_gyrokinetic_kern_tm.c index 9ab3173e12..faf097b510 100644 --- a/gyrokinetic/unit/ctest_dg_gyrokinetic_kern_tm.c +++ b/gyrokinetic/unit/ctest_dg_gyrokinetic_kern_tm.c @@ -131,7 +131,7 @@ test_3x2v_p1(bool use_gpu) struct gkyl_dg_updater_gyrokinetic* up; up = gkyl_dg_updater_gyrokinetic_new(&phaseGrid, &confBasis, &basis, &confRange, &phaseRange, - is_zero_flux, 1.0, 1.0, GKYL_GK_COLLISIONLESS_ES, gk_geom, gvm, &aux, use_gpu); + is_zero_flux, 1.0, 1.0, GKYL_GK_COLLISIONLESS_EM, false, false, gk_geom, gvm, &aux, use_gpu); // initialize arrays struct gkyl_array *fin, *rhs, *cflrate; From 509304c508d2a3152565b23c2de9c6b23fa6836a Mon Sep 17 00:00:00 2001 From: Antoinehoff Date: Tue, 8 Sep 2026 10:36:53 -0400 Subject: [PATCH 181/181] We now always apply Apar smoothing, `smooth_apar_z` option is removed. --- gyrokinetic/apps/gk_field_2x3x.c | 4 +--- gyrokinetic/apps/gkyl_gyrokinetic.h | 1 - gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c | 1 - gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c | 1 - 4 files changed, 1 insertion(+), 6 deletions(-) diff --git a/gyrokinetic/apps/gk_field_2x3x.c b/gyrokinetic/apps/gk_field_2x3x.c index 4ab5aa18a0..f3f40bda7a 100644 --- a/gyrokinetic/apps/gk_field_2x3x.c +++ b/gyrokinetic/apps/gk_field_2x3x.c @@ -819,9 +819,7 @@ gk_field_fem_new_2x3x(struct gkyl_gyrokinetic_app *app, struct gk_field *f) double dg_norm = pow(sqrt(2.0), app->basis.ndim); gkyl_array_shiftc_range(f->fs_avg_conf_one, dg_norm, 0, &app->local); } - if (f->info.smooth_apar_z) { - f->fem_projection_par_apar_func = f->fem_projection_par_phi_func; - } + f->fem_projection_par_apar_func = f->fem_projection_par_phi_func; } // Updater for field energy calculation. diff --git a/gyrokinetic/apps/gkyl_gyrokinetic.h b/gyrokinetic/apps/gkyl_gyrokinetic.h index 320dd22936..dfae3b6f86 100644 --- a/gyrokinetic/apps/gkyl_gyrokinetic.h +++ b/gyrokinetic/apps/gkyl_gyrokinetic.h @@ -568,7 +568,6 @@ struct gkyl_gyrokinetic_field { struct gkyl_gyrokinetic_bc ampere_bcs[2*GKYL_MAX_CDIM]; double mu0; // Magnetic permeability of free space. bool remove_em_zonal; // Whether to remove zonal component. - bool smooth_apar_z; // Whether to apply a smoother in the z direction for Ampere stepping in EMGK. bool is_apar_static; // =true Apar at initial time is used for all time steps. bool time_rate_diagnostics; // Writes the time rate of change of field energy. diff --git a/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c index 8c4faf5199..0feac34d61 100644 --- a/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_helical_zpar_2x2v_p1.c @@ -576,7 +576,6 @@ main(int argc, char **argv) .mu0 = GKYL_MU0, .time_rate_diagnostics = true, .remove_em_zonal = false, - .smooth_apar_z = false, }; // GK app diff --git a/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c index d796911b8a..461174d282 100644 --- a/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c +++ b/gyrokinetic/creg/rt_gk_helical_zpar_3x2v_p1.c @@ -579,7 +579,6 @@ main(int argc, char **argv) }, .mu0 = GKYL_MU0, .time_rate_diagnostics = true, - .smooth_apar_z = false, .remove_em_zonal = false, };